From 58b40851cb1227dde5b5e6a8df7fc17ad2076b0a Mon Sep 17 00:00:00 2001 From: David Eiber Date: Thu, 9 Nov 2023 10:54:49 -0500 Subject: [PATCH 01/51] Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43) * Added 1271 wrapper * Update kernel version to 0.2.3 * use kernel name and version from constants in tests --- src/Kernel.sol | 40 ++++++++++++++++++++++++--------- src/common/Constants.sol | 2 +- test/foundry/KernelTestBase.sol | 13 +++++++---- 3 files changed, 40 insertions(+), 15 deletions(-) diff --git a/src/Kernel.sol b/src/Kernel.sol index 6275f5cb..6f9cb66a 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -239,25 +239,45 @@ contract Kernel is EIP712, Compatibility, KernelStorage { return _validateSignature(hash, signature); } + function _domainSeparator() internal view override returns (bytes32) { + // Obtain the name and version from the _domainNameAndVersion function. + (string memory name, string memory version) = _domainNameAndVersion(); + bytes32 nameHash = keccak256(bytes(name)); + bytes32 versionHash = keccak256(bytes(version)); + + // Use the proxy address for the EIP-712 domain separator. + address proxyAddress = address(this); + + // Construct the domain separator with name, version, chainId, and proxy address. + bytes32 typeHash = keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"); + return keccak256(abi.encode(typeHash, nameHash, versionHash, block.chainid, proxyAddress)); + } + /// @notice Checks if a signature is valid /// @dev This function checks if a signature is valid based on the hash of the data signed. /// @param hash The hash of the data that was signed /// @param signature The signature to be validated /// @return The magic value 0x1626ba7e if the signature is valid, otherwise returns 0xffffffff. function isValidSignature(bytes32 hash, bytes calldata signature) public view returns (bytes4) { - ValidationData validationData = validateSignature(hash, signature); + // Include the proxy address in the domain separator + bytes32 domainSeparator = _domainSeparator(); + + // Recreate the signed message hash with the correct domain separator + bytes32 signedMessageHash = keccak256(abi.encodePacked("\x19\x01", domainSeparator, hash)); + + ValidationData validationData = validateSignature(signedMessageHash, signature); (ValidAfter validAfter, ValidUntil validUntil, address result) = parseValidationData(validationData); - if (ValidAfter.unwrap(validAfter) > block.timestamp) { - return 0xffffffff; - } - if (ValidUntil.unwrap(validUntil) < block.timestamp) { - return 0xffffffff; - } - if (result != address(0)) { + + // Check if the signature is valid within the specified time frame and the result is successful + if (ValidAfter.unwrap(validAfter) <= block.timestamp && + ValidUntil.unwrap(validUntil) >= block.timestamp && + result == address(0)) { + // If all checks pass, return the ERC1271 magic value for a valid signature + return 0x1626ba7e; + } else { + // If any check fails, return the failure magic value return 0xffffffff; } - - return 0x1626ba7e; } function _checkCaller() internal view returns (bool) { diff --git a/src/common/Constants.sol b/src/common/Constants.sol index e65d4328..e85dc7f3 100644 --- a/src/common/Constants.sol +++ b/src/common/Constants.sol @@ -4,7 +4,7 @@ import {ValidationData} from "./Types.sol"; // constants for kernel metadata string constant KERNEL_NAME = "Kernel"; -string constant KERNEL_VERSION = "0.2.2"; +string constant KERNEL_VERSION = "0.2.3"; // ERC4337 constants uint256 constant SIG_VALIDATION_FAILED_UINT = 1; diff --git a/test/foundry/KernelTestBase.sol b/test/foundry/KernelTestBase.sol index baa2d42d..7ea675d7 100644 --- a/test/foundry/KernelTestBase.sol +++ b/test/foundry/KernelTestBase.sol @@ -14,6 +14,7 @@ import {IKernelValidator} from "src/interfaces/IKernelValidator.sol"; import {Call, ExecutionDetail} from "src/common/Structs.sol"; import {ValidationData, ValidUntil, ValidAfter} from "src/common/Types.sol"; +import {KERNEL_VERSION, KERNEL_NAME} from "src/common/Constants.sol"; import {ERC4337Utils} from "test/foundry/utils/ERC4337Utils.sol"; import {Test} from "forge-std/Test.sol"; @@ -143,8 +144,8 @@ abstract contract KernelTestBase is Test { (bytes1 fields, string memory name, string memory version,, address verifyingContract, bytes32 salt,) = kernel.eip712Domain(); assertEq(fields, bytes1(hex"0f")); - assertEq(name, "Kernel"); - assertEq(version, "0.2.2"); + assertEq(name, KERNEL_NAME); + assertEq(version, KERNEL_VERSION); assertEq(verifyingContract, address(kernel)); assertEq(salt, bytes32(0)); } @@ -177,13 +178,17 @@ abstract contract KernelTestBase is Test { } function test_validate_signature() external { + Kernel kernel2 = Kernel(payable(factory.createAccount(address(kernelImpl), getInitializeData(), 3))); bytes32 hash = keccak256(abi.encodePacked("hello world")); - bytes memory sig = signHash(hash); + bytes32 digest = keccak256(abi.encodePacked("\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash)); + bytes memory sig = signHash(digest); assertEq(kernel.isValidSignature(hash, sig), Kernel.isValidSignature.selector); + assertEq(kernel2.isValidSignature(hash, sig), bytes4(0xffffffff)); } function test_fail_validate_wrongsignature() external { bytes32 hash = keccak256(abi.encodePacked("hello world")); + bytes32 digest = keccak256(abi.encodePacked("\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash)); bytes memory sig = getWrongSignature(hash); assertEq(kernel.isValidSignature(hash, sig), bytes4(0xffffffff)); } @@ -471,7 +476,7 @@ abstract contract KernelTestBase is Test { return keccak256( abi.encodePacked( "\x19\x01", - ERC4337Utils._buildDomainSeparator("Kernel", "0.2.2", address(kernel)), + ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), ERC4337Utils.getStructHash(sig, validUntil, validAfter, validator, executor, enableData) ) ); From 324e120db033a904b92d03983428d51aeaed8e9f Mon Sep 17 00:00:00 2001 From: taek Date: Fri, 10 Nov 2023 15:21:51 +0900 Subject: [PATCH 02/51] added delegatecall support (#44) --- src/Kernel.sol | 16 ++++++++++++++++ test/foundry/KernelTestBase.sol | 18 +++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/Kernel.sol b/src/Kernel.sol index 6f9cb66a..07126e8c 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -75,6 +75,22 @@ contract Kernel is EIP712, Compatibility, KernelStorage { default { return(0, returndatasize()) } } } + + /// @notice Executes a function call to an external contract with delegatecall + /// @param to The address of the target contract + /// @param data The call data to be sent + function executeDelegateCall(address to, bytes memory data) external payable { + if (msg.sender != address(entryPoint) && msg.sender != address(this) && !_checkCaller()) { + revert NotAuthorizedCaller(); + } + assembly { + let success := delegatecall(gas(), to, add(data, 0x20), mload(data), 0, 0) + returndatacopy(0, 0, returndatasize()) + switch success + case 0 { revert(0, returndatasize()) } + default { return(0, returndatasize()) } + } + } /// @notice Executes a function call to an external contract batched /// @param calls The calls to be executed, in order diff --git a/test/foundry/KernelTestBase.sol b/test/foundry/KernelTestBase.sol index 7ea675d7..b65c5ae6 100644 --- a/test/foundry/KernelTestBase.sol +++ b/test/foundry/KernelTestBase.sol @@ -97,8 +97,24 @@ abstract contract KernelTestBase is Test { kernel.execute(validCallers[i], 0, "", Operation.Call); } } - + + function test_external_call_execute_delegatecall_success() external { + address[] memory validCallers = getOwners(); + for (uint256 i = 0; i < validCallers.length; i++) { + vm.prank(validCallers[i]); + kernel.executeDelegateCall(validCallers[i], ""); + } + } function test_external_call_execute_delegatecall_fail() external { + address[] memory validCallers = getOwners(); + for (uint256 i = 0; i < validCallers.length; i++) { + vm.prank(address(uint160(validCallers[i]) + 1)); + vm.expectRevert(); + kernel.executeDelegateCall(validCallers[i], ""); + } + } + + function test_external_call_execute_delegatecall_option_fail() external { address[] memory validCallers = getOwners(); for (uint256 i = 0; i < validCallers.length; i++) { vm.prank(validCallers[i]); From 79e53b452f90adf6f680e3c2a9bbac73cac2f543 Mon Sep 17 00:00:00 2001 From: leekt Date: Tue, 14 Nov 2023 01:38:54 +0900 Subject: [PATCH 03/51] session key validator fixed for batch scenario --- src/Kernel.sol | 14 +- src/validator/SessionKeyValidator.sol | 47 ++- src/validator/WeightedECDSAValidator.sol | 4 +- test/foundry/KernelLiteECDSA.t.sol | 3 +- test/foundry/KernelTestBase.sol | 15 +- test/foundry/utils/Merkle.sol | 5 +- .../validator/SessionKeyValidator.t.sol | 272 +++++++++++++++--- 7 files changed, 284 insertions(+), 76 deletions(-) diff --git a/src/Kernel.sol b/src/Kernel.sol index 07126e8c..873032fe 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -75,7 +75,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { default { return(0, returndatasize()) } } } - + /// @notice Executes a function call to an external contract with delegatecall /// @param to The address of the target contract /// @param data The call data to be sent @@ -251,7 +251,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { } } - function validateSignature(bytes32 hash, bytes calldata signature) public view returns(ValidationData) { + function validateSignature(bytes32 hash, bytes calldata signature) public view returns (ValidationData) { return _validateSignature(hash, signature); } @@ -265,7 +265,8 @@ contract Kernel is EIP712, Compatibility, KernelStorage { address proxyAddress = address(this); // Construct the domain separator with name, version, chainId, and proxy address. - bytes32 typeHash = keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"); + bytes32 typeHash = + keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"); return keccak256(abi.encode(typeHash, nameHash, versionHash, block.chainid, proxyAddress)); } @@ -285,9 +286,10 @@ contract Kernel is EIP712, Compatibility, KernelStorage { (ValidAfter validAfter, ValidUntil validUntil, address result) = parseValidationData(validationData); // Check if the signature is valid within the specified time frame and the result is successful - if (ValidAfter.unwrap(validAfter) <= block.timestamp && - ValidUntil.unwrap(validUntil) >= block.timestamp && - result == address(0)) { + if ( + ValidAfter.unwrap(validAfter) <= block.timestamp && ValidUntil.unwrap(validUntil) >= block.timestamp + && result == address(0) + ) { // If all checks pass, return the ERC1271 magic value for a valid signature return 0x1626ba7e; } else { diff --git a/src/validator/SessionKeyValidator.sol b/src/validator/SessionKeyValidator.sol index 2bbc40be..db2d3e02 100644 --- a/src/validator/SessionKeyValidator.sol +++ b/src/validator/SessionKeyValidator.sol @@ -30,11 +30,9 @@ contract SessionKeyValidator is IKernelValidator { } function invalidateNonce(uint128 nonce) public { - require( - nonce > nonces[msg.sender].invalidNonce && nonce <= nonces[msg.sender].lastNonce, - "SessionKeyValidator: invalid nonce" - ); + require(nonce > nonces[msg.sender].invalidNonce, "SessionKeyValidator: invalid nonce"); nonces[msg.sender].invalidNonce = nonce; + nonces[msg.sender].lastNonce = nonce; } function disable(bytes calldata _data) external payable { @@ -113,7 +111,14 @@ contract SessionKeyValidator is IKernelValidator { function _getPermissions(bytes calldata _sig) internal pure returns (Permission[] calldata permissions) { assembly { permissions.offset := add(add(_sig.offset, 0x20), calldataload(_sig.offset)) - permissions.length := calldataload(permissions.offset) + permissions.length := calldataload(add(_sig.offset, calldataload(_sig.offset))) + } + } + + function _getProofs(bytes calldata _sig) internal pure returns (bytes32[][] calldata proofs) { + assembly { + proofs.length := calldataload(add(_sig.offset, calldataload(add(_sig.offset, 0x20)))) + proofs.offset := add(add(_sig.offset, 0x20), calldataload(add(_sig.offset, 0x20))) } } @@ -152,8 +157,7 @@ contract SessionKeyValidator is IKernelValidator { if (bytes4(callData[0:4]) == Kernel.execute.selector) { (Permission calldata permission, bytes32[] calldata merkleProof) = _getPermission(userOp.signature[85:]); require( - address(bytes20(userOp.callData[16:36])) == permission.target, - "SessionKeyValidator: target mismatch" + address(bytes20(userOp.callData[16:36])) == permission.target, "SessionKeyValidator: target mismatch" ); require( uint256(bytes32(userOp.callData[36:68])) <= permission.valueLimit, @@ -178,10 +182,9 @@ contract SessionKeyValidator is IKernelValidator { return _verifyUserOpHash(sessionKey, validAfter, session.validUntil); } else if (bytes4(callData[0:4]) == Kernel.executeBatch.selector) { Permission[] calldata permissions = _getPermissions(userOp.signature[85:]); - (, bytes32[] memory merkleProof, bool[] memory flags, uint256[] memory index) = - abi.decode(userOp.signature[85:], (Permission[], bytes32[], bool[], uint256[])); - (bytes32[] memory leaves, ValidAfter validAfter) = _verifyParams(sessionKey, callData, permissions, index); - if (!MerkleProofLib.verifyMultiProof(merkleProof, session.merkleRoot, leaves, flags)) { + bytes32[][] calldata merkleProof = _getProofs(userOp.signature[85:]); + (ValidAfter validAfter, bool verifyFailed) = _verifyParams(sessionKey, callData, permissions, merkleProof); + if (verifyFailed) { return SIG_VALIDATION_FAILED; } return _verifyUserOpHash(sessionKey, validAfter, session.validUntil); @@ -224,23 +227,20 @@ contract SessionKeyValidator is IKernelValidator { address sessionKey, bytes calldata callData, Permission[] calldata _permissions, - uint256[] memory index - ) internal returns (bytes32[] memory leaves, ValidAfter maxValidAfter) { + bytes32[][] calldata _merkleProof + ) internal returns (ValidAfter maxValidAfter, bool verifyFailed) { Call[] calldata calls; assembly { calls.offset := add(add(callData.offset, 0x24), calldataload(add(callData.offset, 4))) calls.length := calldataload(add(add(callData.offset, 4), calldataload(add(callData.offset, 4)))) } uint256 i = 0; - leaves = _generateLeaves(index); SessionData storage session = sessionData[sessionKey][msg.sender]; maxValidAfter = session.validAfter; for (i = 0; i < calls.length; i++) { Call calldata call = calls[i]; Permission calldata permission = _permissions[i]; - require( - call.to == permission.target, "SessionKeyValidator: target mismatch" - ); + require(call.to == permission.target, "SessionKeyValidator: target mismatch"); require(uint256(bytes32(call.value)) <= permission.valueLimit, "SessionKeyValidator: value limit exceeded"); require(verifyPermission(call.data, permission), "SessionKeyValidator: permission verification failed"); ValidAfter validAfter = @@ -248,19 +248,10 @@ contract SessionKeyValidator is IKernelValidator { if (ValidAfter.unwrap(validAfter) > ValidAfter.unwrap(maxValidAfter)) { maxValidAfter = validAfter; } - leaves[index[i]] = keccak256(abi.encode(permission)); - } - } - - function _generateLeaves(uint256[] memory _indexes) internal pure returns (bytes32[] memory leaves) { - uint256 maxIndex; - uint256 i = 0; - for (i = 0; i < _indexes.length; i++) { - if (_indexes[i] > maxIndex) { - maxIndex = _indexes[i]; + if (!MerkleProofLib.verify(_merkleProof[i], session.merkleRoot, keccak256(abi.encode(permission)))) { + return (maxValidAfter, true); } } - leaves = new bytes32[](maxIndex + 1); } function verifyPermission(bytes calldata data, Permission calldata permission) internal pure returns (bool) { diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index 0f1d9de2..b991c159 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -149,7 +149,9 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { for (uint256 i = 0; i < sigCount; i++) { // last sig is for userOpHash verification signer = ECDSA.recover( - _hashTypedData(keccak256(abi.encode(keccak256("Approve(bytes32 callDataAndNonceHash)"), callDataAndNonceHash))), + _hashTypedData( + keccak256(abi.encode(keccak256("Approve(bytes32 callDataAndNonceHash)"), callDataAndNonceHash)) + ), sig[i * 65:(i + 1) * 65] ); vote = voteStatus[callDataAndNonceHash][signer][msg.sender]; diff --git a/test/foundry/KernelLiteECDSA.t.sol b/test/foundry/KernelLiteECDSA.t.sol index c2864d91..e18f21ff 100644 --- a/test/foundry/KernelLiteECDSA.t.sol +++ b/test/foundry/KernelLiteECDSA.t.sol @@ -102,8 +102,7 @@ contract KernelECDSATest is KernelTestBase { function test_transfer_ownership() external { address newOwner = makeAddr("new owner"); UserOperation memory op = entryPoint.fillUserOp( - address(kernel), - abi.encodeWithSelector(KernelLiteECDSA.transferOwnership.selector, newOwner) + address(kernel), abi.encodeWithSelector(KernelLiteECDSA.transferOwnership.selector, newOwner) ); op.signature = signUserOp(op); UserOperation[] memory ops = new UserOperation[](1); diff --git a/test/foundry/KernelTestBase.sol b/test/foundry/KernelTestBase.sol index b65c5ae6..88e43e81 100644 --- a/test/foundry/KernelTestBase.sol +++ b/test/foundry/KernelTestBase.sol @@ -97,7 +97,7 @@ abstract contract KernelTestBase is Test { kernel.execute(validCallers[i], 0, "", Operation.Call); } } - + function test_external_call_execute_delegatecall_success() external { address[] memory validCallers = getOwners(); for (uint256 i = 0; i < validCallers.length; i++) { @@ -105,6 +105,7 @@ abstract contract KernelTestBase is Test { kernel.executeDelegateCall(validCallers[i], ""); } } + function test_external_call_execute_delegatecall_fail() external { address[] memory validCallers = getOwners(); for (uint256 i = 0; i < validCallers.length; i++) { @@ -196,7 +197,11 @@ abstract contract KernelTestBase is Test { function test_validate_signature() external { Kernel kernel2 = Kernel(payable(factory.createAccount(address(kernelImpl), getInitializeData(), 3))); bytes32 hash = keccak256(abi.encodePacked("hello world")); - bytes32 digest = keccak256(abi.encodePacked("\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash)); + bytes32 digest = keccak256( + abi.encodePacked( + "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash + ) + ); bytes memory sig = signHash(digest); assertEq(kernel.isValidSignature(hash, sig), Kernel.isValidSignature.selector); assertEq(kernel2.isValidSignature(hash, sig), bytes4(0xffffffff)); @@ -204,7 +209,11 @@ abstract contract KernelTestBase is Test { function test_fail_validate_wrongsignature() external { bytes32 hash = keccak256(abi.encodePacked("hello world")); - bytes32 digest = keccak256(abi.encodePacked("\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash)); + bytes32 digest = keccak256( + abi.encodePacked( + "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash + ) + ); bytes memory sig = getWrongSignature(hash); assertEq(kernel.isValidSignature(hash, sig), bytes4(0xffffffff)); } diff --git a/test/foundry/utils/Merkle.sol b/test/foundry/utils/Merkle.sol index 55b49b5a..26730161 100644 --- a/test/foundry/utils/Merkle.sol +++ b/test/foundry/utils/Merkle.sol @@ -8,7 +8,7 @@ function _getRoot(bytes32[] memory data) pure returns (bytes32) { return data[0]; } -function _getProof(bytes32[] memory data, uint256 nodeIndex) pure returns (bytes32[] memory) { +function _getProof(bytes32[] memory data, uint256 nodeIndex, bool wrongProof) pure returns (bytes32[] memory) { require(data.length > 1); bytes32[] memory result = new bytes32[](64); @@ -33,6 +33,9 @@ function _getProof(bytes32[] memory data, uint256 nodeIndex) pure returns (bytes assembly { mstore(result, pos) } + if (wrongProof) { + result[0] = result[0] ^ bytes32(uint256(0x01)); + } return result; } diff --git a/test/foundry/validator/SessionKeyValidator.t.sol b/test/foundry/validator/SessionKeyValidator.t.sol index 1683e5a4..b3330734 100644 --- a/test/foundry/validator/SessionKeyValidator.t.sol +++ b/test/foundry/validator/SessionKeyValidator.t.sol @@ -5,6 +5,7 @@ import "src/Kernel.sol"; import "src/interfaces/IKernel.sol"; import "src/validator/ECDSAValidator.sol"; import "src/factory/KernelFactory.sol"; +import {Call} from "src/common/Structs.sol"; // test artifacts import "../mock/TestValidator.sol"; import "../mock/TestExecutor.sol"; @@ -49,16 +50,9 @@ contract SessionKeyValidatorTest is KernelECDSATest { for (uint8 i = 0; i < _length; i++) { callees[i] = new TestCallee(); ParamRule[] memory paramRules = new ParamRule[](2); - paramRules[0] = ParamRule({ - offset: 0, - condition: ParamCondition(i % 6), - param: bytes32(uint256(100)) - }); - paramRules[1] = ParamRule({ - offset: 32, - condition: ParamCondition((i+1) % 6), - param: bytes32(uint256(100)) - }); + paramRules[0] = ParamRule({offset: 0, condition: ParamCondition(i % 6), param: bytes32(uint256(100))}); + paramRules[1] = + ParamRule({offset: 32, condition: ParamCondition((i + 1) % 6), param: bytes32(uint256(100))}); permissions[i] = Permission({ index: i, target: address(callees[i]), @@ -78,22 +72,82 @@ contract SessionKeyValidatorTest is KernelECDSATest { } } - function _generateParam(ParamCondition condition, bool correct) internal pure returns(uint256 param) { - if(condition == ParamCondition.EQUAL) { + function _generateParam(ParamCondition condition, bool correct) internal pure returns (uint256 param) { + if (condition == ParamCondition.EQUAL) { param = correct ? 100 : 101; - } else if(condition == ParamCondition.GREATER_THAN) { - param = correct ? 101 : 100; - } else if(condition == ParamCondition.LESS_THAN) { + } else if (condition == ParamCondition.GREATER_THAN) { + param = correct ? 101 : 100; + } else if (condition == ParamCondition.LESS_THAN) { param = correct ? 99 : 100; - } else if(condition == ParamCondition.NOT_EQUAL) { + } else if (condition == ParamCondition.NOT_EQUAL) { param = correct ? 101 : 100; - } else if(condition == ParamCondition.GREATER_THAN_OR_EQUAL) { + } else if (condition == ParamCondition.GREATER_THAN_OR_EQUAL) { param = correct ? 100 : 99; - } else if(condition == ParamCondition.LESS_THAN_OR_EQUAL) { + } else if (condition == ParamCondition.LESS_THAN_OR_EQUAL) { param = correct ? 100 : 101; } } + function _buildUserOpBatch( + Permission[] memory permissions, + SessionData memory sessionData, + uint256 indexToUse, + uint8 usingPaymasterMode, + bool param1Faulty, + bool param2Faulty + ) internal view returns (UserOperation memory op) { + Call[] memory calls = new Call[](1); + calls[0] = Call({ + to: permissions[indexToUse].target, + value: 0, + data: abi.encodeWithSelector( + permissions[indexToUse].sig, + _generateParam(ParamCondition(indexToUse % 6), !param1Faulty), + _generateParam(ParamCondition((indexToUse + 1) % 6), !param2Faulty) + ) + }); + + op = entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(IKernel.executeBatch.selector, calls)); + if (usingPaymasterMode != 0) { + // 0 = no paymaster + // 1 = unknown paymaster + // 2 = correct paymaster + op.paymasterAndData = usingPaymasterMode == 1 + ? abi.encodePacked(address(unknownPaymaster)) + : abi.encodePacked(address(paymaster)); + } + bytes memory enableData = abi.encodePacked( + sessionKey, + sessionData.merkleRoot, + sessionData.validAfter, + sessionData.validUntil, + sessionData.paymaster, + sessionData.nonce + ); + bytes32 digest = getTypedDataHash( + IKernel.executeBatch.selector, + ValidAfter.unwrap(sessionData.validAfter), + ValidUntil.unwrap(sessionData.validUntil), + address(sessionKeyValidator), + address(0), + enableData + ); + (uint8 v, bytes32 r, bytes32 s) = vm.sign(ownerKey, digest); + op.signature = abi.encodePacked( + bytes4(0x00000002), + uint48(ValidAfter.unwrap(sessionData.validAfter)), + uint48(ValidUntil.unwrap(sessionData.validUntil)), + address(sessionKeyValidator), + address(0), + uint256(enableData.length), + enableData, + uint256(65), + r, + s, + v + ); + } + function _buildUserOp( Permission[] memory permissions, SessionData memory sessionData, @@ -110,8 +164,8 @@ contract SessionKeyValidatorTest is KernelECDSATest { 0, abi.encodeWithSelector( permissions[indexToUse].sig, - _generateParam(ParamCondition(indexToUse%6), !param1Faulty), // since EQ - _generateParam(ParamCondition((indexToUse+1)%6), !param2Faulty) // since NOT_EQ + _generateParam(ParamCondition(indexToUse % 6), !param1Faulty), // since EQ + _generateParam(ParamCondition((indexToUse + 1) % 6), !param2Faulty) // since NOT_EQ ), Operation.Call ) @@ -179,19 +233,22 @@ contract SessionKeyValidatorTest is KernelECDSATest { bool faultySig; bool param1Faulty; bool param2Faulty; + bool wrongProof; } - function test_scenario_non_batch( - TestConfig memory config - ) public { + + function test_scenario_batch(TestConfig memory config) public { vm.warp(1000); vm.assume(config.indexToUse < config.numberOfPermissions && config.numberOfPermissions > 1); - vm.assume(config.validAfter < type(uint32).max && config.interval < type(uint32).max && config.runs < type(uint32).max); + vm.assume( + config.validAfter < type(uint32).max && config.interval < type(uint32).max && config.runs < type(uint32).max + ); config.paymasterMode = config.paymasterMode % 3; config.usingPaymasterMode = config.usingPaymasterMode % 3; - bool shouldFail = (config.usingPaymasterMode < config.paymasterMode) || (1000 < config.validAfter) || config.faultySig || config.param1Faulty || config.param2Faulty; + bool shouldFail = (config.usingPaymasterMode < config.paymasterMode) || (1000 < config.validAfter) + || config.faultySig || config.param1Faulty || config.param2Faulty || config.wrongProof; config.runs = config.runs % 10; config.earlyRun = config.runs == 0 ? 0 : config.earlyRun % config.runs; - if(config.interval == 0 || config.validAfter == 0) { + if (config.interval == 0 || config.validAfter == 0) { config.earlyRun = 0; } if (config.interval > 0) { @@ -200,7 +257,11 @@ contract SessionKeyValidatorTest is KernelECDSATest { vm.assume(config.validAfter < block.timestamp); } // setup permissions - execRule = ExecutionRule({runs: config.runs, validAfter: ValidAfter.wrap(config.validAfter), interval: config.interval}); + execRule = ExecutionRule({ + runs: config.runs, + validAfter: ValidAfter.wrap(config.validAfter), + interval: config.interval + }); Permission[] memory permissions = _setup_permission(config.numberOfPermissions); _buildHashes(permissions); (uint128 lastNonce,) = sessionKeyValidator.nonces(address(kernel)); @@ -209,16 +270,27 @@ contract SessionKeyValidatorTest is KernelECDSATest { validAfter: ValidAfter.wrap(config.validAfter), validUntil: ValidUntil.wrap(0), paymaster: config.paymasterMode == 2 ? address(paymaster) : address(uint160(config.paymasterMode)), - nonce: uint256(lastNonce) + 1//lastNonce + 1 + nonce: uint256(lastNonce) + 1 //lastNonce + 1 }); // now encode data to op - UserOperation memory op = _buildUserOp(permissions, sessionData, config.indexToUse, config.usingPaymasterMode, config.param1Faulty, config.param2Faulty); + UserOperation memory op = _buildUserOpBatch( + permissions, + sessionData, + config.indexToUse, + config.usingPaymasterMode, + config.param1Faulty, + config.param2Faulty + ); + bytes32[][] memory proofs = new bytes32[][](1); + proofs[0] = _getProof(data, config.indexToUse, config.wrongProof); + Permission[] memory usingPermission = new Permission[](1); + usingPermission[0] = permissions[config.indexToUse]; op.signature = bytes.concat( op.signature, abi.encodePacked( sessionKey, entryPoint.signUserOpHash(vm, config.faultySig ? sessionKeyPriv + 1 : sessionKeyPriv, op), - abi.encode(permissions[config.indexToUse], _getProof(data, config.indexToUse)) + abi.encode(usingPermission, proofs) ) ); @@ -241,7 +313,114 @@ contract SessionKeyValidatorTest is KernelECDSATest { } if (!shouldFail && config.runs > 0) { for (uint256 i = 1; i < config.runs; i++) { - if(config.earlyRun != i) { + if (config.earlyRun != i) { + vm.warp(config.validAfter + config.interval * i); + } else { + vm.warp(config.validAfter + config.interval * i - 1); + } + op.nonce = op.nonce + 1; + op.signature = _getBatchActionSignature(op, permissions, config.indexToUse); + if (config.earlyRun == i) { + vm.expectRevert(); + } + entryPoint.handleOps(ops, beneficiary); + if (config.earlyRun == i) { + vm.warp(config.validAfter + config.interval * i); + entryPoint.handleOps(ops, beneficiary); + } + (ValidAfter updatedValidAfter, uint48 r) = sessionKeyValidator.executionStatus( + keccak256(abi.encodePacked(sessionData.nonce, uint32(config.indexToUse))), address(kernel) + ); + if (config.validAfter > 0 && config.interval > 0) { + assertEq( + uint256(ValidAfter.unwrap(updatedValidAfter)), uint256(config.validAfter + config.interval * i) + ); + } + if (config.runs > 0) { + assertEq(uint256(r), uint256(i + 1)); + } + } + op.nonce = op.nonce + 1; + op.signature = _getBatchActionSignature(op, permissions, config.indexToUse); + vm.expectRevert(); + entryPoint.handleOps(ops, beneficiary); + } + } + + function test_scenario_non_batch(TestConfig memory config) public { + vm.warp(1000); + vm.assume(config.indexToUse < config.numberOfPermissions && config.numberOfPermissions > 1); + vm.assume( + config.validAfter < type(uint32).max && config.interval < type(uint32).max && config.runs < type(uint32).max + ); + config.paymasterMode = config.paymasterMode % 3; + config.usingPaymasterMode = config.usingPaymasterMode % 3; + bool shouldFail = (config.usingPaymasterMode < config.paymasterMode) || (1000 < config.validAfter) + || config.faultySig || config.param1Faulty || config.param2Faulty || config.wrongProof; + config.runs = config.runs % 10; + config.earlyRun = config.runs == 0 ? 0 : config.earlyRun % config.runs; + if (config.interval == 0 || config.validAfter == 0) { + config.earlyRun = 0; + } + if (config.interval > 0) { + vm.assume(config.validAfter > 0 && config.validAfter < block.timestamp); + } else { + vm.assume(config.validAfter < block.timestamp); + } + // setup permissions + execRule = ExecutionRule({ + runs: config.runs, + validAfter: ValidAfter.wrap(config.validAfter), + interval: config.interval + }); + Permission[] memory permissions = _setup_permission(config.numberOfPermissions); + _buildHashes(permissions); + (uint128 lastNonce,) = sessionKeyValidator.nonces(address(kernel)); + SessionData memory sessionData = SessionData({ + merkleRoot: _getRoot(data), + validAfter: ValidAfter.wrap(config.validAfter), + validUntil: ValidUntil.wrap(0), + paymaster: config.paymasterMode == 2 ? address(paymaster) : address(uint160(config.paymasterMode)), + nonce: uint256(lastNonce) + 1 //lastNonce + 1 + }); + // now encode data to op + UserOperation memory op = _buildUserOp( + permissions, + sessionData, + config.indexToUse, + config.usingPaymasterMode, + config.param1Faulty, + config.param2Faulty + ); + op.signature = bytes.concat( + op.signature, + abi.encodePacked( + sessionKey, + entryPoint.signUserOpHash(vm, config.faultySig ? sessionKeyPriv + 1 : sessionKeyPriv, op), + abi.encode(permissions[config.indexToUse], _getProof(data, config.indexToUse, config.wrongProof)) + ) + ); + + UserOperation[] memory ops = new UserOperation[](1); + ops[0] = op; + if (shouldFail) { + vm.expectRevert(); + } + entryPoint.handleOps(ops, beneficiary); + if (config.interval > 0 && config.validAfter > 0 && !shouldFail) { + (ValidAfter updatedValidAfter, uint48 r) = sessionKeyValidator.executionStatus( + keccak256(abi.encodePacked(sessionData.nonce, uint32(config.indexToUse))), address(kernel) + ); + assertEq(uint256(ValidAfter.unwrap(updatedValidAfter)), uint256(config.validAfter)); + if (config.runs > 0) { + assertEq(uint256(r), uint256(1)); + } else { + assertEq(uint256(r), uint256(0)); + } + } + if (!shouldFail && config.runs > 0) { + for (uint256 i = 1; i < config.runs; i++) { + if (config.earlyRun != i) { vm.warp(config.validAfter + config.interval * i); } else { vm.warp(config.validAfter + config.interval * i - 1); @@ -260,9 +439,11 @@ contract SessionKeyValidatorTest is KernelECDSATest { keccak256(abi.encodePacked(sessionData.nonce, uint32(config.indexToUse))), address(kernel) ); if (config.validAfter > 0 && config.interval > 0) { - assertEq(uint256(ValidAfter.unwrap(updatedValidAfter)), uint256(config.validAfter + config.interval * i)); + assertEq( + uint256(ValidAfter.unwrap(updatedValidAfter)), uint256(config.validAfter + config.interval * i) + ); } - if(config.runs > 0) { + if (config.runs > 0) { assertEq(uint256(r), uint256(i + 1)); } } @@ -273,13 +454,34 @@ contract SessionKeyValidatorTest is KernelECDSATest { } } - function _getSingleActionSignature(UserOperation memory _op, Permission[] memory permissions, uint8 indexToUse) internal view returns(bytes memory) { + function _getBatchActionSignature(UserOperation memory _op, Permission[] memory permissions, uint8 indexToUse) + internal + view + returns (bytes memory) + { + Permission[] memory _permissions = new Permission[](1); + _permissions[0] = permissions[indexToUse]; + bytes32[][] memory _proofs = new bytes32[][](1); + _proofs[0] = _getProof(data, indexToUse, false); + return abi.encodePacked( + bytes4(0x00000001), + abi.encodePacked( + sessionKey, entryPoint.signUserOpHash(vm, sessionKeyPriv, _op), abi.encode(_permissions, _proofs) + ) + ); + } + + function _getSingleActionSignature(UserOperation memory _op, Permission[] memory permissions, uint8 indexToUse) + internal + view + returns (bytes memory) + { return abi.encodePacked( bytes4(0x00000001), abi.encodePacked( sessionKey, entryPoint.signUserOpHash(vm, sessionKeyPriv, _op), - abi.encode(permissions[indexToUse], _getProof(data, indexToUse)) + abi.encode(permissions[indexToUse], _getProof(data, indexToUse, false)) ) ); } From fb8d059b7b1ccbcdcb996d8317c4edbba96c8f05 Mon Sep 17 00:00:00 2001 From: leekt Date: Tue, 14 Nov 2023 11:20:18 +0900 Subject: [PATCH 04/51] test: fuzz testing for batched options include array --- .../validator/SessionKeyValidator.t.sol | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/test/foundry/validator/SessionKeyValidator.t.sol b/test/foundry/validator/SessionKeyValidator.t.sol index b3330734..3cb1fa1f 100644 --- a/test/foundry/validator/SessionKeyValidator.t.sol +++ b/test/foundry/validator/SessionKeyValidator.t.sol @@ -236,8 +236,17 @@ contract SessionKeyValidatorTest is KernelECDSATest { bool wrongProof; } - function test_scenario_batch(TestConfig memory config) public { + struct BatchTestConfig { + uint8 count; + } + function test_scenario_batch(TestConfig memory config, BatchTestConfig memory batchConfig) public { vm.warp(1000); + if(batchConfig.count == 0) { + batchConfig.count = 1; + } + config.runs = 0; + config.interval = 0; + config.validAfter = 0; // TODO: runs not checked with batch vm.assume(config.indexToUse < config.numberOfPermissions && config.numberOfPermissions > 1); vm.assume( config.validAfter < type(uint32).max && config.interval < type(uint32).max && config.runs < type(uint32).max @@ -281,10 +290,12 @@ contract SessionKeyValidatorTest is KernelECDSATest { config.param1Faulty, config.param2Faulty ); - bytes32[][] memory proofs = new bytes32[][](1); - proofs[0] = _getProof(data, config.indexToUse, config.wrongProof); - Permission[] memory usingPermission = new Permission[](1); - usingPermission[0] = permissions[config.indexToUse]; + bytes32[][] memory proofs = new bytes32[][](batchConfig.count); + Permission[] memory usingPermission = new Permission[](batchConfig.count); + for(uint256 i = 0; i < batchConfig.count; i++) { + proofs[i] = _getProof(data, config.indexToUse, config.wrongProof); + usingPermission[i] = permissions[config.indexToUse]; + } op.signature = bytes.concat( op.signature, abi.encodePacked( From fe8b969f6e111c8c05ddf8d74705c40f5df411d6 Mon Sep 17 00:00:00 2001 From: taek Date: Thu, 16 Nov 2023 00:07:19 +0900 Subject: [PATCH 05/51] fix: warning removed, forge fmt (#46) --- src/Kernel.sol | 6 +++--- src/validator/WeightedECDSAValidator.sol | 6 +++--- test/foundry/KernelTestBase.sol | 5 ----- test/foundry/validator/SessionKeyValidator.t.sol | 5 +++-- 4 files changed, 9 insertions(+), 13 deletions(-) diff --git a/src/Kernel.sol b/src/Kernel.sol index 873032fe..9687c120 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -257,9 +257,9 @@ contract Kernel is EIP712, Compatibility, KernelStorage { function _domainSeparator() internal view override returns (bytes32) { // Obtain the name and version from the _domainNameAndVersion function. - (string memory name, string memory version) = _domainNameAndVersion(); - bytes32 nameHash = keccak256(bytes(name)); - bytes32 versionHash = keccak256(bytes(version)); + (string memory _name, string memory _version) = _domainNameAndVersion(); + bytes32 nameHash = keccak256(bytes(_name)); + bytes32 versionHash = keccak256(bytes(_version)); // Use the proxy address for the EIP-712 domain separator. address proxyAddress = address(this); diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index b991c159..faa4f3bc 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -127,7 +127,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { proposal.status = ProposalStatus.Rejected; } - function validateUserOp(UserOperation calldata userOp, bytes32 userOpHash, uint256 missingFunds) + function validateUserOp(UserOperation calldata userOp, bytes32, uint256) external payable returns (ValidationData validationData) @@ -175,11 +175,11 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { } } - function validCaller(address, bytes calldata) external view override returns (bool) { + function validCaller(address, bytes calldata) external pure override returns (bool) { return false; } - function validateSignature(bytes32 hash, bytes calldata signature) external view returns (ValidationData) { + function validateSignature(bytes32, bytes calldata) external pure returns (ValidationData) { return SIG_VALIDATION_FAILED; } } diff --git a/test/foundry/KernelTestBase.sol b/test/foundry/KernelTestBase.sol index 88e43e81..b4501cdd 100644 --- a/test/foundry/KernelTestBase.sol +++ b/test/foundry/KernelTestBase.sol @@ -209,11 +209,6 @@ abstract contract KernelTestBase is Test { function test_fail_validate_wrongsignature() external { bytes32 hash = keccak256(abi.encodePacked("hello world")); - bytes32 digest = keccak256( - abi.encodePacked( - "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash - ) - ); bytes memory sig = getWrongSignature(hash); assertEq(kernel.isValidSignature(hash, sig), bytes4(0xffffffff)); } diff --git a/test/foundry/validator/SessionKeyValidator.t.sol b/test/foundry/validator/SessionKeyValidator.t.sol index 3cb1fa1f..bf831ec2 100644 --- a/test/foundry/validator/SessionKeyValidator.t.sol +++ b/test/foundry/validator/SessionKeyValidator.t.sol @@ -239,9 +239,10 @@ contract SessionKeyValidatorTest is KernelECDSATest { struct BatchTestConfig { uint8 count; } + function test_scenario_batch(TestConfig memory config, BatchTestConfig memory batchConfig) public { vm.warp(1000); - if(batchConfig.count == 0) { + if (batchConfig.count == 0) { batchConfig.count = 1; } config.runs = 0; @@ -292,7 +293,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { ); bytes32[][] memory proofs = new bytes32[][](batchConfig.count); Permission[] memory usingPermission = new Permission[](batchConfig.count); - for(uint256 i = 0; i < batchConfig.count; i++) { + for (uint256 i = 0; i < batchConfig.count; i++) { proofs[i] = _getProof(data, config.indexToUse, config.wrongProof); usingPermission[i] = permissions[config.indexToUse]; } From c4e22679eb0907b124de153b720d1a843401e129 Mon Sep 17 00:00:00 2001 From: Quentin Nivelais Date: Tue, 28 Nov 2023 09:28:50 +0100 Subject: [PATCH 06/51] Documentation & minor gas optimisation during userOpExecution (#50) * Add storage slot documentation & run coverage * Gas improvment on disabled mode check during execution Between 1 to 22% gas saved during userOp execution * Missing funds check gas improvments * Adding a bit of comments --- .gas-snapshot | 179 +++++++++++++++++++++++++++++++---- src/Kernel.sol | 87 ++++++++++++----- src/common/Constants.sol | 12 ++- src/lite/KernelLiteECDSA.sol | 9 ++ 4 files changed, 243 insertions(+), 44 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index cc7d5bdc..e41656f8 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,19 +1,160 @@ -KernelExecutionTest:test_mode_2() (gas: 593614) -KernelExecutionTest:test_mode_2() (gas: 611256) -KernelExecutionTest:test_mode_2_1() (gas: 589400) -KernelExecutionTest:test_mode_2_erc165() (gas: 2485466) -KernelExecutionTest:test_revert_when_mode_disabled() (gas: 192767) -KernelExecutionTest:test_sudo() (gas: 216219) -KernelHelperTest:testIntersect(uint48,uint48,uint48,uint48) (runs: 256, μ: 2379, ~: 2383) -KernelTest:test_disable_mode() (gas: 170757) -KernelTest:test_disable_mode() (gas: 172824) -KernelTest:test_external_call_default() (gas: 28844) -KernelTest:test_external_call_execution() (gas: 520197) -KernelTest:test_initialize_twice() (gas: 20515) -KernelTest:test_initialize_twice() (gas: 20537) -KernelTest:test_set_default_validator() (gas: 427634) -KernelTest:test_set_default_validator() (gas: 429679) -KernelTest:test_set_execution() (gas: 477930) -KernelTest:test_set_execution() (gas: 479975) -KernelTest:test_validate_signature() (gas: 171911) -KernelTest:test_validate_signature() (gas: 175529) \ No newline at end of file +KernelECDSATest:test_default_validator_disable() (gas: 0) +KernelECDSATest:test_default_validator_disable() (gas: 180311) +KernelECDSATest:test_default_validator_enable() (gas: 0) +KernelECDSATest:test_default_validator_enable() (gas: 187800) +KernelECDSATest:test_disable_mode() (gas: 182795) +KernelECDSATest:test_disable_mode() (gas: 192079) +KernelECDSATest:test_eip712() (gas: 15684) +KernelECDSATest:test_eip712() (gas: 15684) +KernelECDSATest:test_enable_then_mode_1() (gas: 277994) +KernelECDSATest:test_enable_then_mode_1() (gas: 286106) +KernelECDSATest:test_external_call_batch_execute_fail() (gas: 23628) +KernelECDSATest:test_external_call_batch_execute_fail() (gas: 29534) +KernelECDSATest:test_external_call_batch_execute_success() (gas: 20629) +KernelECDSATest:test_external_call_batch_execute_success() (gas: 26536) +KernelECDSATest:test_external_call_default() (gas: 23511) +KernelECDSATest:test_external_call_default() (gas: 29338) +KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 22499) +KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 28381) +KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 20434) +KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 26329) +KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 19738) +KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 25621) +KernelECDSATest:test_external_call_execute_fail() (gas: 21968) +KernelECDSATest:test_external_call_execute_fail() (gas: 27862) +KernelECDSATest:test_external_call_execute_success() (gas: 20070) +KernelECDSATest:test_external_call_execute_success() (gas: 25987) +KernelECDSATest:test_external_call_execution() (gas: 497819) +KernelECDSATest:test_external_call_execution() (gas: 510696) +KernelECDSATest:test_fail_validate_not_activate() (gas: 0) +KernelECDSATest:test_fail_validate_not_activate() (gas: 303491) +KernelECDSATest:test_fail_validate_wrongsignature() (gas: 24904) +KernelECDSATest:test_fail_validate_wrongsignature() (gas: 34133) +KernelECDSATest:test_get_nonce() (gas: 25179) +KernelECDSATest:test_get_nonce() (gas: 25201) +KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) +KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) +KernelECDSATest:test_ignore() (gas: 868) +KernelECDSATest:test_initialize() (gas: 126784) +KernelECDSATest:test_initialize() (gas: 154121) +KernelECDSATest:test_initialize_twice() (gas: 18555) +KernelECDSATest:test_initialize_twice() (gas: 18698) +KernelECDSATest:test_mode_2() (gas: 243052) +KernelECDSATest:test_mode_2() (gas: 250243) +KernelECDSATest:test_revert_when_mode_disabled() (gas: 199003) +KernelECDSATest:test_revert_when_mode_disabled() (gas: 208287) +KernelECDSATest:test_set_default_validator() (gas: 417145) +KernelECDSATest:test_set_default_validator() (gas: 423335) +KernelECDSATest:test_set_execution() (gas: 458142) +KernelECDSATest:test_set_execution() (gas: 468303) +KernelECDSATest:test_should_emit_event_on_receive() (gas: 23220) +KernelECDSATest:test_should_emit_event_on_receive() (gas: 23220) +KernelECDSATest:test_should_receive_erc1155() (gas: 701145) +KernelECDSATest:test_should_receive_erc1155() (gas: 701171) +KernelECDSATest:test_should_receive_erc1155_batch() (gas: 728411) +KernelECDSATest:test_should_receive_erc1155_batch() (gas: 728411) +KernelECDSATest:test_should_receive_erc721() (gas: 597680) +KernelECDSATest:test_should_receive_erc721() (gas: 597702) +KernelECDSATest:test_should_return_address_if_deployed() (gas: 21970) +KernelECDSATest:test_should_return_address_if_deployed() (gas: 21976) +KernelECDSATest:test_sudo() (gas: 170002) +KernelECDSATest:test_sudo() (gas: 179450) +KernelECDSATest:test_sudo_wrongSig() (gas: 102566) +KernelECDSATest:test_sudo_wrongSig() (gas: 115709) +KernelECDSATest:test_transfer_ownership() (gas: 178398) +KernelECDSATest:test_upgrade() (gas: 21292) +KernelECDSATest:test_upgrade() (gas: 21292) +KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26550) +KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26550) +KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 30591) +KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 30634) +KernelECDSATest:test_validate_signature() (gas: 155714) +KernelECDSATest:test_validate_signature() (gas: 194502) +KernelHelperTest:testIntersect(uint48,uint48,uint48,uint48) (runs: 1024, μ: 871, ~: 869) +KillSwitchValidatorTest:test_default_validator_disable() (gas: 180432) +KillSwitchValidatorTest:test_default_validator_enable() (gas: 187921) +KillSwitchValidatorTest:test_disable_mode() (gas: 182916) +KillSwitchValidatorTest:test_eip712() (gas: 15820) +KillSwitchValidatorTest:test_enable_then_mode_1() (gas: 348586) +KillSwitchValidatorTest:test_external_call_batch_execute_fail() (gas: 29622) +KillSwitchValidatorTest:test_external_call_batch_execute_success() (gas: 26558) +KillSwitchValidatorTest:test_external_call_default() (gas: 29426) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 28469) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 26439) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_success() (gas: 25709) +KillSwitchValidatorTest:test_external_call_execute_fail() (gas: 27906) +KillSwitchValidatorTest:test_external_call_execute_success() (gas: 26075) +KillSwitchValidatorTest:test_external_call_execution() (gas: 510817) +KillSwitchValidatorTest:test_fail_validate_not_activate() (gas: 303601) +KillSwitchValidatorTest:test_fail_validate_wrongsignature() (gas: 34276) +KillSwitchValidatorTest:test_force_unblock() (gas: 391544) +KillSwitchValidatorTest:test_get_nonce() (gas: 25201) +KillSwitchValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19930, ~: 19930) +KillSwitchValidatorTest:test_ignore() (gas: 956) +KillSwitchValidatorTest:test_initialize() (gas: 154209) +KillSwitchValidatorTest:test_initialize_twice() (gas: 18643) +KillSwitchValidatorTest:test_mode_2() (gas: 312761) +KillSwitchValidatorTest:test_revert_when_mode_disabled() (gas: 199157) +KillSwitchValidatorTest:test_set_default_validator() (gas: 423434) +KillSwitchValidatorTest:test_set_execution() (gas: 468424) +KillSwitchValidatorTest:test_should_emit_event_on_receive() (gas: 23330) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature() (gas: 9236) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature(bytes32,bytes) (runs: 1024, μ: 9601, ~: 9556) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller() (gas: 10157) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller(address,bytes) (runs: 1024, μ: 9749, ~: 9703) +KillSwitchValidatorTest:test_should_receive_erc1155() (gas: 701233) +KillSwitchValidatorTest:test_should_receive_erc1155_batch() (gas: 728499) +KillSwitchValidatorTest:test_should_receive_erc721() (gas: 597790) +KillSwitchValidatorTest:test_should_return_address_if_deployed() (gas: 22086) +KillSwitchValidatorTest:test_sudo() (gas: 179549) +KillSwitchValidatorTest:test_sudo_wrongSig() (gas: 115830) +KillSwitchValidatorTest:test_upgrade() (gas: 21314) +KillSwitchValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26638) +KillSwitchValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 30708) +KillSwitchValidatorTest:test_validate_signature() (gas: 194579) +SessionKeyValidatorTest:test_default_validator_disable() (gas: 180311) +SessionKeyValidatorTest:test_default_validator_enable() (gas: 187800) +SessionKeyValidatorTest:test_disable_mode() (gas: 182795) +SessionKeyValidatorTest:test_eip712() (gas: 15684) +SessionKeyValidatorTest:test_enable_then_mode_1() (gas: 286128) +SessionKeyValidatorTest:test_external_call_batch_execute_fail() (gas: 29534) +SessionKeyValidatorTest:test_external_call_batch_execute_success() (gas: 26536) +SessionKeyValidatorTest:test_external_call_default() (gas: 29338) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 28381) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 26351) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_success() (gas: 25621) +SessionKeyValidatorTest:test_external_call_execute_fail() (gas: 27862) +SessionKeyValidatorTest:test_external_call_execute_success() (gas: 26009) +SessionKeyValidatorTest:test_external_call_execution() (gas: 510718) +SessionKeyValidatorTest:test_fail_validate_not_activate() (gas: 303513) +SessionKeyValidatorTest:test_fail_validate_wrongsignature() (gas: 34165) +SessionKeyValidatorTest:test_get_nonce() (gas: 25179) +SessionKeyValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) +SessionKeyValidatorTest:test_ignore() (gas: 890) +SessionKeyValidatorTest:test_initialize() (gas: 154121) +SessionKeyValidatorTest:test_initialize_twice() (gas: 18555) +SessionKeyValidatorTest:test_mode_2() (gas: 250298) +SessionKeyValidatorTest:test_revert_when_mode_disabled() (gas: 199003) +SessionKeyValidatorTest:test_scenario_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool),(uint8)) (runs: 1024, μ: 43997409, ~: 32002162) +SessionKeyValidatorTest:test_scenario_non_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool)) (runs: 1024, μ: 17511495, ~: 17372686) +SessionKeyValidatorTest:test_set_default_validator() (gas: 423335) +SessionKeyValidatorTest:test_set_execution() (gas: 468303) +SessionKeyValidatorTest:test_should_emit_event_on_receive() (gas: 23242) +SessionKeyValidatorTest:test_should_receive_erc1155() (gas: 701145) +SessionKeyValidatorTest:test_should_receive_erc1155_batch() (gas: 728411) +SessionKeyValidatorTest:test_should_receive_erc721() (gas: 597724) +SessionKeyValidatorTest:test_should_return_address_if_deployed() (gas: 22003) +SessionKeyValidatorTest:test_sudo() (gas: 179450) +SessionKeyValidatorTest:test_sudo_wrongSig() (gas: 115731) +SessionKeyValidatorTest:test_upgrade() (gas: 21292) +SessionKeyValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26574) +SessionKeyValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 30634) +SessionKeyValidatorTest:test_validate_signature() (gas: 194502) +TestCallee:test_ignore() (gas: 206) +TestCounter:test_ignore() (gas: 164) +TestERC1155:test_ignore() (gas: 328) +TestERC20:test_ignore() (gas: 389) +TestERC721:test_ignore() (gas: 399) +TestExecutor:test_ignore() (gas: 130) +TestPaymaster:test_ignore() (gas: 174) +TestValidator:test_ignore() (gas: 351) \ No newline at end of file diff --git a/src/Kernel.sol b/src/Kernel.sol index 9687c120..74f2425b 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -26,17 +26,16 @@ import {ValidationData, ValidAfter, ValidUntil, parseValidationData, packValidat /// @author taek /// @notice wallet kernel for extensible wallet functionality contract Kernel is EIP712, Compatibility, KernelStorage { - string public constant name = KERNEL_NAME; + /// @dev Selector of the `DisabledMode()` error, to be used in assembly, 'bytes4(keccak256(bytes("DisabledMode()")))', same as DisabledMode.selector() + uint256 private constant _DISABLED_MODE_SELECTOR = 0xfc2f51c5; + /// @dev Current kernel name and version, todo: Need to expose getter for this variables? + string public constant name = KERNEL_NAME; string public constant version = KERNEL_VERSION; /// @dev Sets up the EIP712 and KernelStorage with the provided entry point constructor(IEntryPoint _entryPoint) KernelStorage(_entryPoint) {} - function _domainNameAndVersion() internal pure override returns (string memory, string memory) { - return (name, version); - } - /// @notice Accepts incoming Ether transactions and calls from the EntryPoint contract /// @dev This function will delegate any call to the appropriate executor based on the function signature. fallback() external payable { @@ -133,7 +132,9 @@ contract Kernel is EIP712, Compatibility, KernelStorage { bytes calldata userOpSignature; uint256 userOpEndOffset; assembly { + // Store the userOpSignature offset userOpEndOffset := add(calldataload(0x04), 0x24) + // Extract the user op signature from the calldata (but keep it in the calldata, just extract offset & length) userOpSignature.offset := add(calldataload(add(userOpEndOffset, 0x120)), userOpEndOffset) userOpSignature.length := calldataload(sub(userOpSignature.offset, 0x20)) } @@ -141,29 +142,33 @@ contract Kernel is EIP712, Compatibility, KernelStorage { bytes4 mode = bytes4(userOpSignature[0:4]); // mode == 00..00 use validators // mode == 0x00000000 use sudo validator if (mode == 0x00000000) { - // sudo mode (use default validator) - if (missingAccountFunds != 0) { - assembly { + assembly { + if missingAccountFunds { pop(call(gas(), caller(), missingAccountFunds, callvalue(), callvalue(), callvalue(), callvalue())) + //ignore failure (its EntryPoint's job to verify, not account.) } - //ignore failure (its EntryPoint's job to verify, not account.) } // short circuit here for default validator return _validateUserOp(_userOp, userOpHash, missingAccountFunds); } - UserOperation memory userOp = _userOp; + // Check if the kernel is disabled, if that's the case, it's only accepting userOperation with sudo mode + assembly ("memory-safe") { + // Extract the disabled mode from the storage slot + let isKernelDisabled := shl(224, sload(KERNEL_STORAGE_SLOT_1)) + // If we got a non-zero disabled mode, and non zero mode, then revert + if and(isKernelDisabled, mode) { + mstore(0x00, _DISABLED_MODE_SELECTOR) + revert(0x1c, 0x04) + } + } + + // The validator that will be used + IKernelValidator validator; // mode == 0x00000001 use given validator // mode == 0x00000002 enable validator - IKernelValidator validator; - bytes32 storage_slot_1; - assembly { - storage_slot_1 := sload(KERNEL_STORAGE_SLOT_1) - } - if (mode & (storage_slot_1 << 224) != 0x00000000) { - revert DisabledMode(); - } else if (mode == 0x00000001) { + if (mode == 0x00000001) { bytes calldata userOpCallData; assembly { userOpCallData.offset := add(calldataload(add(userOpEndOffset, 0x40)), userOpEndOffset) @@ -188,18 +193,27 @@ contract Kernel is EIP712, Compatibility, KernelStorage { } else { return SIG_VALIDATION_FAILED; } - if (missingAccountFunds != 0) { - assembly { + + assembly { + if missingAccountFunds { pop(call(gas(), caller(), missingAccountFunds, callvalue(), callvalue(), callvalue(), callvalue())) + //ignore failure (its EntryPoint's job to verify, not account.) } - //ignore failure (its EntryPoint's job to verify, not account.) } + + // Replicate the userOp from memory to calldata, to update it's signature (since with mode 1 & 2 the signatre can be updated) + UserOperation memory userOp = _userOp; userOp.signature = userOpSignature; + + // Get the validator data from the designated signer validationData = _intersectValidationData(validationData, validator.validateUserOp(userOp, userOpHash, missingAccountFunds)); return validationData; } + /// @dev This function will approve a new validator for the current kernel + /// @param sig The signature of the userOp asking for a validator approval + /// @param signature The signature of the userOp asking for a validator approval function _approveValidator(bytes4 sig, bytes calldata signature) internal returns (IKernelValidator validator, ValidationData validationData, bytes calldata validationSig) @@ -251,10 +265,19 @@ contract Kernel is EIP712, Compatibility, KernelStorage { } } + /// @dev Validates a signature for the given kernel + /// @param hash The hash of the data that was signed + /// @param signature The signature to be validated function validateSignature(bytes32 hash, bytes calldata signature) public view returns (ValidationData) { return _validateSignature(hash, signature); } + /// @dev Get the current name & version of the kernel, used for the EIP-712 domain separator + function _domainNameAndVersion() internal pure override returns (string memory, string memory) { + return (name, version); + } + + /// @dev Get an EIP-712 compliant domain separator function _domainSeparator() internal view override returns (bytes32) { // Obtain the name and version from the _domainNameAndVersion function. (string memory _name, string memory _version) = _domainNameAndVersion(); @@ -298,6 +321,8 @@ contract Kernel is EIP712, Compatibility, KernelStorage { } } + /// @dev Check if the current caller is authorized or no to perform the call + /// @return True if the caller is authorized, otherwise false function _checkCaller() internal view returns (bool) { if (_validCaller(msg.sender, msg.data)) { return true; @@ -315,20 +340,31 @@ contract Kernel is EIP712, Compatibility, KernelStorage { } } + /// @dev This function will validate user operation and be called by EntryPoint + /// @param _op The user operation to be validated + /// @param _opHash The hash of the user operation + /// @param _missingFunds The funds needed to be reimbursed function _validateUserOp(UserOperation calldata _op, bytes32 _opHash, uint256 _missingFunds) internal virtual returns (ValidationData) { - address validator; + // Replace the user op in memory to update the signature UserOperation memory op = _op; - op.signature = _op.signature[4:]; // since this is only called on default validator + // Remove the validation mode flag from the signature + op.signature = _op.signature[4:]; + + IKernelValidator validator; assembly { validator := shr(80, sload(KERNEL_STORAGE_SLOT_1)) } return IKernelValidator(validator).validateUserOp(op, _opHash, _missingFunds); } + /// @dev This function will validate a signature for the given kernel + /// @param _hash The hash of the data that was signed + /// @param _signature The signature to be validated + /// @return The magic value 0x1626ba7e if the signature is valid, otherwise returns 0xffffffff. function _validateSignature(bytes32 _hash, bytes calldata _signature) internal view @@ -342,9 +378,14 @@ contract Kernel is EIP712, Compatibility, KernelStorage { return IKernelValidator(validator).validateSignature(_hash, _signature); } + /// @dev Check if the given caller is valid for the given data + /// @param _caller The caller to be checked + /// @param _data The data to be checked + /// @return True if the caller is valid, otherwise false function _validCaller(address _caller, bytes calldata _data) internal view virtual returns (bool) { address validator; assembly { + // Load the validator from the storage slot validator := shr(80, sload(KERNEL_STORAGE_SLOT_1)) } return IKernelValidator(validator).validCaller(_caller, _data); diff --git a/src/common/Constants.sol b/src/common/Constants.sol index e85dc7f3..b69cb162 100644 --- a/src/common/Constants.sol +++ b/src/common/Constants.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.0; import {ValidationData} from "./Types.sol"; -// constants for kernel metadata +// Constants for kernel metadata string constant KERNEL_NAME = "Kernel"; string constant KERNEL_VERSION = "0.2.3"; @@ -11,9 +11,17 @@ uint256 constant SIG_VALIDATION_FAILED_UINT = 1; ValidationData constant SIG_VALIDATION_FAILED = ValidationData.wrap(SIG_VALIDATION_FAILED_UINT); // STRUCT_HASH + +/// @dev Struct hash for the ValidatorApproved struct -> keccak256("ValidatorApproved(bytes4 sig,uint256 validatorData,address executor,bytes enableData)") bytes32 constant VALIDATOR_APPROVED_STRUCT_HASH = 0x3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176; -// Storage slots +/* -------------------------------------------------------------------------- */ +/* Storage slots */ +/* -------------------------------------------------------------------------- */ + +/// @dev Storage slot for the kernel storage bytes32 constant KERNEL_STORAGE_SLOT = 0x439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8; +/// @dev Storage pointer inside the kernel storage, with 1 offset, to access directly disblaedMode, disabled date and default validator bytes32 constant KERNEL_STORAGE_SLOT_1 = 0x439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9; +/// @dev Storage slot for the logic implementation address bytes32 constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; diff --git a/src/lite/KernelLiteECDSA.sol b/src/lite/KernelLiteECDSA.sol index ab7a73f1..a483d63d 100644 --- a/src/lite/KernelLiteECDSA.sol +++ b/src/lite/KernelLiteECDSA.sol @@ -15,10 +15,14 @@ struct KernelLiteECDSAStorage { address owner; } +/// @title KernelLiteECDSA Contract +/// @dev A lite version of the Kernel contract which only uses ECDSA signatures for validation contract KernelLiteECDSA is Kernel { error InvalidAccess(); address public immutable KERNEL_ECDSA_VALIDATOR; + + /// @dev The storage slot for this contract bytes32 private constant KERNEL_LITE_ECDSA_STORAGE_SLOT = 0xdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e97; // keccak256(abi.encodePacked("zerodev.kernel.lite.ecdsa")) - 1 @@ -27,6 +31,7 @@ contract KernelLiteECDSA is Kernel { getKernelLiteECDSAStorage().owner = address(1); // set owner to non-zero address to prevent initialization } + /// @dev Transfer the ownership of this current kernel function transferOwnership(address _newOwner) external payable onlyFromEntryPointOrSelf { getKernelLiteECDSAStorage().owner = _newOwner; } @@ -38,6 +43,7 @@ contract KernelLiteECDSA is Kernel { } } + /// @dev Set the initial data for this kernel (setup ecdsa signer address) function _setInitialData(IKernelValidator _validator, bytes calldata _data) internal override { require(address(_validator) == KERNEL_ECDSA_VALIDATOR, "KernelLiteECDSA: invalid validator"); require(getKernelLiteECDSAStorage().owner == address(0), "KernelLiteECDSA: already initialized"); @@ -45,6 +51,7 @@ contract KernelLiteECDSA is Kernel { getKernelLiteECDSAStorage().owner = owner; } + /// @dev Validate a user operation function _validateUserOp(UserOperation calldata _op, bytes32 _opHash, uint256) internal view @@ -58,6 +65,7 @@ contract KernelLiteECDSA is Kernel { return ValidationData.wrap(0); } + /// @dev Validate a signature function _validateSignature(bytes32 _hash, bytes calldata _signature) internal view @@ -71,6 +79,7 @@ contract KernelLiteECDSA is Kernel { return SIG_VALIDATION_FAILED; } + /// @dev Check if the caller is valid function _validCaller(address _caller, bytes calldata) internal view override returns (bool) { return _caller == getKernelLiteECDSAStorage().owner; } From 7cdcf42cb5e29c2e5cf93063533747850c55d6ad Mon Sep 17 00:00:00 2001 From: David Eiber Date: Wed, 6 Dec 2023 00:19:02 -0500 Subject: [PATCH 07/51] Add p256 validator (#48) * Dev (#47) * Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43) * Added 1271 wrapper * Update kernel version to 0.2.3 * use kernel name and version from constants in tests * added delegatecall support (#44) * session key validator fixed for batch scenario * test: fuzz testing for batched options include array * fix: warning removed, forge fmt (#46) --------- Co-authored-by: David Eiber * Initial commit * Update P256Validator.t.sol * forge install: FreshCryptoLib * Refactor with helper functions * Add P256Validator, tests, deps * Remove py scripts used for initial testing * Update foundry.toml * update deps * add non-malleable signatures --------- Co-authored-by: taek --- .gitmodules | 6 + foundry.toml | 2 +- lib/FreshCryptoLib | 1 + lib/forge-std | 2 +- lib/p256-verifier | 1 + lib/solady | 2 +- remappings.txt | 2 + src/validator/P256Validator.sol | 66 ++++++ test/foundry/KernelECDSA.t.sol | 16 +- test/foundry/KernelLiteECDSA.t.sol | 17 +- test/foundry/KernelTestBase.sol | 127 ++++------- .../validator/KillSwitchValidator.t.sol | 18 +- test/foundry/validator/P256Validator.t.sol | 209 ++++++++++++++++++ .../validator/SessionKeyValidator.t.sol | 25 +-- 14 files changed, 361 insertions(+), 133 deletions(-) create mode 160000 lib/FreshCryptoLib create mode 160000 lib/p256-verifier create mode 100644 src/validator/P256Validator.sol create mode 100644 test/foundry/validator/P256Validator.t.sol diff --git a/.gitmodules b/.gitmodules index 744ac54b..d2bb2da1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,9 @@ [submodule "lib/I4337"] path = lib/I4337 url = https://github.com/leekt/I4337 +[submodule "lib/p256-verifier"] + path = lib/p256-verifier + url = https://github.com/daimo-eth/p256-verifier +[submodule "lib/FreshCryptoLib"] + path = lib/FreshCryptoLib + url = https://github.com/rdubois-crypto/FreshCryptoLib diff --git a/foundry.toml b/foundry.toml index 77dc9e49..d4dbafef 100644 --- a/foundry.toml +++ b/foundry.toml @@ -2,7 +2,7 @@ src = 'src' out = 'out' libs = ['lib'] -solc_version = '0.8.19' +solc_version = '0.8.21' bytecode_hash = "none" cbor_metadata = false optimize = true diff --git a/lib/FreshCryptoLib b/lib/FreshCryptoLib new file mode 160000 index 00000000..e2830cb5 --- /dev/null +++ b/lib/FreshCryptoLib @@ -0,0 +1 @@ +Subproject commit e2830cb5d7b0f6ae35b5800287c0f5c92388070b diff --git a/lib/forge-std b/lib/forge-std index 705263c9..37a37ab7 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit 705263c95892a906d7af65f0f73ce8a4a0c80b80 +Subproject commit 37a37ab73364d6644bfe11edf88a07880f99bd56 diff --git a/lib/p256-verifier b/lib/p256-verifier new file mode 160000 index 00000000..fcaa173c --- /dev/null +++ b/lib/p256-verifier @@ -0,0 +1 @@ +Subproject commit fcaa173c36e6a0fd55370f74f949998356869b2c diff --git a/lib/solady b/lib/solady index 6f724bd0..cde0a5fb 160000 --- a/lib/solady +++ b/lib/solady @@ -1 +1 @@ -Subproject commit 6f724bd0f654b1199ee4cd909d206878c405bbcb +Subproject commit cde0a5fb594da8655ba6bfcdc2e40a7c870c0cc0 diff --git a/remappings.txt b/remappings.txt index e55a454b..82c83131 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,3 +1,5 @@ ds-test/=lib/forge-std/lib/ds-test/src/ forge-std/=lib/forge-std/src/ solady/=lib/solady/src/ +p256-verifier/=lib/p256-verifier/src/ +FreshCryptoLib/=lib/FreshCryptoLib/solidity/src/ \ No newline at end of file diff --git a/src/validator/P256Validator.sol b/src/validator/P256Validator.sol new file mode 100644 index 00000000..02f122fd --- /dev/null +++ b/src/validator/P256Validator.sol @@ -0,0 +1,66 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ECDSA} from "solady/utils/ECDSA.sol"; +import {IKernelValidator} from "../interfaces/IKernelValidator.sol"; +import {ValidationData} from "../common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "../common/Constants.sol"; +import {P256} from "p256-verifier/P256.sol"; + +contract P256Validator is IKernelValidator { + event P256PublicKeysChanged(address indexed kernel, PublicKey indexed oldKeys, PublicKey indexed newKeys); + + struct PublicKey { + uint256 x; + uint256 y; + } + + error BadKey(); + + mapping(address => PublicKey) public p256PublicKey; + + function enable(bytes calldata _data) external payable override { + PublicKey memory key = abi.decode(_data, (PublicKey)); + if (key.x == 0 || key.y == 0) { + revert BadKey(); + } + PublicKey memory oldKey = p256PublicKey[msg.sender]; + p256PublicKey[msg.sender] = key; + emit P256PublicKeysChanged(msg.sender, oldKey, key); + } + + function disable(bytes calldata) external payable override { + delete p256PublicKey[msg.sender]; + } + + function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) external payable override returns (ValidationData validationData) { + (uint256 r, uint256 s) = abi.decode(_userOp.signature, (uint256, uint256)); + PublicKey memory key = p256PublicKey[_userOp.sender]; + bytes32 hash = ECDSA.toEthSignedMessageHash(_userOpHash); + if (P256.verifySignature(hash, r, s, key.x, key.y)) { + return ValidationData.wrap(0); + } + if (!P256.verifySignature(_userOpHash, r, s, key.x, key.y)) { + return SIG_VALIDATION_FAILED; + } + } + + function validateSignature(bytes32 hash, bytes calldata signature) external view override returns (ValidationData) { + (uint256 r, uint256 s) = abi.decode(signature, (uint256, uint256)); + PublicKey memory key = p256PublicKey[msg.sender]; + if (P256.verifySignature(hash, r, s, key.x, key.y)) { + return ValidationData.wrap(0); + } + bytes32 ethHash = ECDSA.toEthSignedMessageHash(hash); + if (!P256.verifySignature(ethHash, r, s, key.x, key.y)) { + return SIG_VALIDATION_FAILED; + } + return ValidationData.wrap(0); + } + + function validCaller(address _caller, bytes calldata) external view override returns (bool) { + revert NotImplemented(); + } +} diff --git a/test/foundry/KernelECDSA.t.sol b/test/foundry/KernelECDSA.t.sol index b22c2c4c..8d68abce 100644 --- a/test/foundry/KernelECDSA.t.sol +++ b/test/foundry/KernelECDSA.t.sol @@ -68,8 +68,7 @@ contract KernelECDSATest is KernelTestBase { } function test_default_validator_enable() external override { - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), + UserOperation memory op = buildUserOperation( abi.encodeWithSelector( IKernel.execute.selector, address(defaultValidator), @@ -78,17 +77,13 @@ contract KernelECDSATest is KernelTestBase { Operation.Call ) ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperationWithSig(op); (address owner) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); assertEq(owner, address(0xdeadbeef), "owner should be 0xdeadbeef"); } function test_default_validator_disable() external override { - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), + UserOperation memory op = buildUserOperation( abi.encodeWithSelector( IKernel.execute.selector, address(defaultValidator), @@ -97,10 +92,7 @@ contract KernelECDSATest is KernelTestBase { Operation.Call ) ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperationWithSig(op); (address owner) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); assertEq(owner, address(0), "owner should be 0"); } diff --git a/test/foundry/KernelLiteECDSA.t.sol b/test/foundry/KernelLiteECDSA.t.sol index e18f21ff..3496986c 100644 --- a/test/foundry/KernelLiteECDSA.t.sol +++ b/test/foundry/KernelLiteECDSA.t.sol @@ -57,16 +57,12 @@ contract KernelECDSATest is KernelTestBase { function test_set_default_validator() external override { TestValidator newValidator = new TestValidator(); bytes memory empty; - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), + UserOperation memory op = buildUserOperation( abi.encodeWithSelector(KernelStorage.setDefaultValidator.selector, address(newValidator), empty) ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; vm.expectEmit(true, true, true, false, address(entryPoint)); emit UserOperationEvent(entryPoint.getUserOpHash(op), address(kernel), address(0), op.nonce, false, 0, 0); - entryPoint.handleOps(ops, beneficiary); + performUserOperationWithSig(op); } function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { @@ -101,14 +97,9 @@ contract KernelECDSATest is KernelTestBase { function test_transfer_ownership() external { address newOwner = makeAddr("new owner"); - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), abi.encodeWithSelector(KernelLiteECDSA.transferOwnership.selector, newOwner) - ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; + UserOperation memory op = buildUserOperation(abi.encodeWithSelector(KernelLiteECDSA.transferOwnership.selector, newOwner)); vm.expectEmit(true, true, true, false, address(entryPoint)); emit UserOperationEvent(entryPoint.getUserOpHash(op), address(kernel), address(0), op.nonce, false, 0, 0); - entryPoint.handleOps(ops, beneficiary); + performUserOperationWithSig(op); } } diff --git a/test/foundry/KernelTestBase.sol b/test/foundry/KernelTestBase.sol index b4501cdd..1951cba4 100644 --- a/test/foundry/KernelTestBase.sol +++ b/test/foundry/KernelTestBase.sol @@ -90,7 +90,7 @@ abstract contract KernelTestBase is Test { function test_default_validator_disable() external virtual; - function test_external_call_execute_success() external { + function test_external_call_execute_success() external virtual { address[] memory validCallers = getOwners(); for (uint256 i = 0; i < validCallers.length; i++) { vm.prank(validCallers[i]); @@ -98,7 +98,7 @@ abstract contract KernelTestBase is Test { } } - function test_external_call_execute_delegatecall_success() external { + function test_external_call_execute_delegatecall_success() external virtual { address[] memory validCallers = getOwners(); for (uint256 i = 0; i < validCallers.length; i++) { vm.prank(validCallers[i]); @@ -106,7 +106,7 @@ abstract contract KernelTestBase is Test { } } - function test_external_call_execute_delegatecall_fail() external { + function test_external_call_execute_delegatecall_fail() external virtual { address[] memory validCallers = getOwners(); for (uint256 i = 0; i < validCallers.length; i++) { vm.prank(address(uint160(validCallers[i]) + 1)); @@ -133,7 +133,7 @@ abstract contract KernelTestBase is Test { } } - function test_external_call_batch_execute_success() external { + function test_external_call_batch_execute_success() external virtual { Call[] memory calls = new Call[](1); calls[0] = Call(owner, 0, ""); vm.prank(owner); @@ -174,7 +174,7 @@ abstract contract KernelTestBase is Test { kernel.upgradeTo(address(0xdeadbeef)); } - function test_external_call_default() external { + function test_external_call_default() external virtual { vm.startPrank(owner); (bool success,) = address(kernel).call(abi.encodePacked("Hello world")); assertEq(success, true); @@ -194,7 +194,7 @@ abstract contract KernelTestBase is Test { assertEq(proxy, address(kernel)); } - function test_validate_signature() external { + function test_validate_signature() external virtual { Kernel kernel2 = Kernel(payable(factory.createAccount(address(kernelImpl), getInitializeData(), 3))); bytes32 hash = keccak256(abi.encodePacked("hello world")); bytes32 digest = keccak256( @@ -207,7 +207,7 @@ abstract contract KernelTestBase is Test { assertEq(kernel2.isValidSignature(hash, sig), bytes4(0xffffffff)); } - function test_fail_validate_wrongsignature() external { + function test_fail_validate_wrongsignature() external virtual { bytes32 hash = keccak256(abi.encodePacked("hello world")); bytes memory sig = getWrongSignature(hash); assertEq(kernel.isValidSignature(hash, sig), bytes4(0xffffffff)); @@ -262,35 +262,25 @@ abstract contract KernelTestBase is Test { function test_set_default_validator() external virtual { TestValidator newDefaultValidator = new TestValidator(); bytes memory empty; - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), + UserOperation memory op = buildUserOperation( abi.encodeWithSelector(IKernel.setDefaultValidator.selector, address(newDefaultValidator), empty) ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperationWithSig(op); assertEq(address(IKernel(address(kernel)).getDefaultValidator()), address(newDefaultValidator)); } function test_disable_mode() external { vm.warp(1000); bytes memory empty; - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001), address(0), empty) - ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + UserOperation memory op = buildUserOperation(abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001), address(0), empty)); + performUserOperationWithSig(op); assertEq(uint256(bytes32(IKernel(address(kernel)).getDisabledMode())), 1 << 224); assertEq(uint256(IKernel(address(kernel)).getLastDisabledTime()), block.timestamp); } function test_set_execution() external { TestValidator newValidator = new TestValidator(); - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), + UserOperation memory op = buildUserOperation( abi.encodeWithSelector( IKernel.setExecution.selector, bytes4(0xdeadbeef), @@ -301,10 +291,7 @@ abstract contract KernelTestBase is Test { bytes("") ) ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperationWithSig(op); ExecutionDetail memory execution = IKernel(address(kernel)).getExecution(bytes4(0xdeadbeef)); assertEq(execution.executor, address(0xdead)); assertEq(address(execution.validator), address(newValidator)); @@ -312,10 +299,9 @@ abstract contract KernelTestBase is Test { assertEq(uint256(ValidAfter.unwrap(execution.validAfter)), uint256(0)); } - function test_external_call_execution() external { + function test_external_call_execution() external virtual { TestValidator newValidator = new TestValidator(); - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), + UserOperation memory op = buildUserOperation( abi.encodeWithSelector( IKernel.setExecution.selector, bytes4(0xdeadbeef), @@ -326,10 +312,7 @@ abstract contract KernelTestBase is Test { bytes("") ) ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperationWithSig(op); ExecutionDetail memory execution = IKernel(address(kernel)).getExecution(bytes4(0xdeadbeef)); assertEq(execution.executor, address(0xdead)); assertEq(address(execution.validator), address(newValidator)); @@ -353,39 +336,28 @@ abstract contract KernelTestBase is Test { function test_revert_when_mode_disabled() external { vm.warp(1000); bytes memory empty; - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001), address(0), empty) + UserOperation memory op = buildUserOperation(abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001), address(0), empty) ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperationWithSig(op); // try to run with mode 0x00000001 - op = entryPoint.fillUserOp( - address(kernel), abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001)) - ); + op = buildUserOperation(abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001))); op.signature = abi.encodePacked(bytes4(0x00000001), entryPoint.signUserOpHash(vm, ownerKey, op)); - ops[0] = op; - vm.expectRevert( abi.encodeWithSelector(IEntryPoint.FailedOp.selector, 0, string.concat("AA23 reverted (or OOG)")) ); - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); } // validate user op function test_validateUserOp_fail_not_entryPoint() external { - UserOperation memory op = - entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(TestExecutor.doNothing.selector)); - op.signature = signUserOp(op); + UserOperation memory op = buildUserOperation(abi.encodeWithSelector(TestExecutor.doNothing.selector)); vm.expectRevert(IKernel.NotEntryPoint.selector); kernel.validateUserOp(op, bytes32(hex"deadbeef"), uint256(100)); } function test_validateUserOp_fail_invalid_mode() external { - UserOperation memory op = - entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(TestExecutor.doNothing.selector)); + UserOperation memory op = buildUserOperation(abi.encodeWithSelector(TestExecutor.doNothing.selector)); op.signature = hex"00000003"; vm.prank(address(entryPoint)); ValidationData res = kernel.validateUserOp(op, bytes32(hex"deadbeef"), uint256(100)); @@ -393,36 +365,27 @@ abstract contract KernelTestBase is Test { } function test_sudo() external { - UserOperation memory op = - entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(TestExecutor.doNothing.selector)); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + UserOperation memory op = buildUserOperation(abi.encodeWithSelector(TestExecutor.doNothing.selector)); + performUserOperationWithSig(op); } function test_sudo_wrongSig() external { - UserOperation memory op = - entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(TestExecutor.doNothing.selector)); + UserOperation memory op = buildUserOperation(abi.encodeWithSelector(TestExecutor.doNothing.selector)); op.signature = getWrongSignature(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; vm.expectRevert(); - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); } // mode 2 tests function test_mode_2() public { - UserOperation memory op = entryPoint.fillUserOp(address(kernel), abi.encodePacked(executionSig)); + UserOperation memory op = buildUserOperation(abi.encodePacked(executionSig)); op.signature = buildEnableSignature( op, executionSig, uint48(0), uint48(0), executionDetail.validator, executionDetail.executor ); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; vm.expectEmit(true, true, true, false, address(entryPoint)); emit UserOperationEvent(entryPoint.getUserOpHash(op), address(kernel), address(0), op.nonce, false, 0, 0); - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); } function buildEnableSignature( @@ -453,8 +416,7 @@ abstract contract KernelTestBase is Test { } function test_enable_then_mode_1() public { - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), + UserOperation memory op = buildUserOperation( abi.encodeWithSelector( IKernel.setExecution.selector, executionSig, @@ -465,18 +427,10 @@ abstract contract KernelTestBase is Test { getEnableData() ) ); - op.signature = signUserOp(op); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - - entryPoint.handleOps(ops, beneficiary); - // vm.expectEmit(true, false, false, false); - // emit TestValidator.TestValidateUserOp(opHash); - op = entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(executionSig)); - // registered + performUserOperationWithSig(op); + op = buildUserOperation(abi.encodeWithSelector(executionSig)); op.signature = abi.encodePacked(bytes4(0x00000001), getValidatorSignature(op)); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); } function _setAddress() internal { @@ -501,4 +455,21 @@ abstract contract KernelTestBase is Test { ) ); } + + function buildUserOperation(bytes memory callData) internal view returns (UserOperation memory op) { + return entryPoint.fillUserOp(address(kernel), callData); + } + + function performUserOperationWithSig(UserOperation memory op) internal { + op.signature = signUserOp(op); + UserOperation[] memory ops = new UserOperation[](1); + ops[0] = op; + entryPoint.handleOps(ops, beneficiary); + } + + function performUserOperation(UserOperation memory op) internal { + UserOperation[] memory ops = new UserOperation[](1); + ops[0] = op; + entryPoint.handleOps(ops, beneficiary); + } } diff --git a/test/foundry/validator/KillSwitchValidator.t.sol b/test/foundry/validator/KillSwitchValidator.t.sol index 47d12f11..6b080d64 100644 --- a/test/foundry/validator/KillSwitchValidator.t.sol +++ b/test/foundry/validator/KillSwitchValidator.t.sol @@ -68,16 +68,12 @@ contract KillSwitchValidatorTest is KernelECDSATest { } function test_force_unblock() external { - UserOperation memory op = entryPoint.fillUserOp( - address(kernel), abi.encodeWithSelector(Kernel.execute.selector, owner, 0, "", Operation.Call) - ); + UserOperation memory op = buildUserOperation(abi.encodeWithSelector(Kernel.execute.selector, owner, 0, "", Operation.Call)); op.signature = bytes.concat(bytes4(0), entryPoint.signUserOpHash(vm, ownerKey, op)); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); - op = entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(KillSwitchAction.toggleKillSwitch.selector)); + op = buildUserOperation(abi.encodeWithSelector(KillSwitchAction.toggleKillSwitch.selector)); bytes memory enableData = abi.encodePacked(guardian); { bytes32 digest = getTypedDataHash( @@ -110,15 +106,13 @@ contract KillSwitchValidatorTest is KernelECDSATest { op.signature = bytes.concat(op.signature, bytes6(uint48(pausedUntil)), sig); } - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); assertEq(kernel.getDisabledMode(), bytes4(0xffffffff)); assertEq(address(kernel.getDefaultValidator()), address(killSwitch)); - op = entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(KillSwitchAction.toggleKillSwitch.selector)); + op = buildUserOperation(abi.encodeWithSelector(KillSwitchAction.toggleKillSwitch.selector)); op.signature = bytes.concat(bytes4(0), entryPoint.signUserOpHash(vm, guardianKey, op)); - ops[0] = op; - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); assertEq(kernel.getDisabledMode(), bytes4(0)); } } diff --git a/test/foundry/validator/P256Validator.t.sol b/test/foundry/validator/P256Validator.t.sol new file mode 100644 index 00000000..25336449 --- /dev/null +++ b/test/foundry/validator/P256Validator.t.sol @@ -0,0 +1,209 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {IEntryPoint} from "I4337/interfaces/IEntryPoint.sol"; +import "src/Kernel.sol"; +// test artifacts +// test utils +import "forge-std/Test.sol"; +import {ERC4337Utils} from "../utils/ERC4337Utils.sol"; +import {KernelTestBase} from "../KernelTestBase.sol"; +import {TestExecutor} from "../mock/TestExecutor.sol"; +import {TestValidator} from "../mock/TestValidator.sol"; +import {P256Validator} from "src/validator/P256Validator.sol"; +import {P256Verifier} from "p256-verifier/P256Verifier.sol"; +import {P256} from "p256-verifier/P256.sol"; +import {FCL_ecdsa_utils} from "FreshCryptoLib/FCL_ecdsa_utils.sol"; +import {IKernel} from "src/interfaces/IKernel.sol"; + + +using ERC4337Utils for IEntryPoint; + +contract P256ValidatorTest is KernelTestBase { + P256Verifier p256Verifier; + P256Validator p256Validator; + + // Curve order (number of points) + uint256 constant n = + 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551; + + + uint256 x; + uint256 y; + + function setUp() public { + p256Validator = new P256Validator(); + p256Verifier = new P256Verifier(); + + vm.etch(0xc2b78104907F722DABAc4C69f826a522B2754De4, address(p256Verifier).code); + + _initialize(); + (x, y) = generatePublicKey(ownerKey); + _setAddress(); + _setExecutionDetail(); + } + + function _setExecutionDetail() internal virtual override { + executionDetail.executor = address(new TestExecutor()); + executionSig = TestExecutor.doNothing.selector; + executionDetail.validator = new TestValidator(); + } + + function getValidatorSignature(UserOperation memory _op) internal view virtual override returns (bytes memory) { + bytes32 hash = entryPoint.getUserOpHash(_op); + (uint256 r, uint256 s) = generateSignature(ownerKey, ECDSA.toEthSignedMessageHash(hash)); + return abi.encodePacked(bytes4(0x00000000), abi.encode(r, s)); + } + + function getOwners() internal virtual override returns (address[] memory _owners){ + _owners = new address[](1); + _owners[0] = address(0); + return _owners; + } + + function getEnableData() internal view virtual override returns (bytes memory) { + return ""; + } + + function getInitializeData() internal view override returns (bytes memory) { + return abi.encodeWithSelector(KernelStorage.initialize.selector, p256Validator, abi.encode(x, y)); + } + + function test_default_validator_enable() external override{ + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(p256Validator), + 0, + abi.encodeWithSelector(P256Validator.enable.selector, abi.encode(x, y)), + Operation.Call + ) + ); + performUserOperationWithSig(op); + (uint256 x2, uint256 y2) = P256Validator(address(p256Validator)).p256PublicKey(address(kernel)); + verifyPublicKey(x2, y2, x, y); + } + + function test_default_validator_disable() external override { + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(p256Validator), + 0, + abi.encodeWithSelector(P256Validator.disable.selector, ""), + Operation.Call + ) + ); + performUserOperationWithSig(op); + (uint256 x2, uint256 y2) = P256Validator(address(p256Validator)).p256PublicKey(address(kernel)); + verifyPublicKey(x2, y2, 0, 0); + } + + function test_external_call_batch_execute_success() external override { + vm.skip(true); + } + + function test_external_call_execute_success() external override { + vm.skip(true); + } + + function test_external_call_execute_delegatecall_success() external override { + vm.skip(true); + } + + function test_external_call_execute_delegatecall_fail() external override { + vm.skip(true); + } + + function test_external_call_default() external override { + vm.skip(true); + } + + function test_external_call_execution() external override { + vm.skip(true); + } + + function generatePublicKey(uint256 privateKey) internal view returns (uint256, uint256) { + return FCL_ecdsa_utils.ecdsa_derivKpub(privateKey); + } + + function generateSignature(uint256 privateKey, bytes32 hash) internal view returns (uint256 r, uint256 s) { + // Securely generate a random k value for each signature + uint256 k = uint256(keccak256(abi.encodePacked(hash, block.timestamp, block.difficulty, privateKey))) % n; + while (k == 0) { + k = uint256(keccak256(abi.encodePacked(k))) % n; + } + + // Generate the signature using the k value and the private key + (r, s) = FCL_ecdsa_utils.ecdsa_sign(hash, k, privateKey); + + // Ensure that s is in the lower half of the range [1, n-1] + if (r == 0 || s == 0 || s > P256.P256_N_DIV_2) { + s = n - s; // If s is in the upper half, use n - s instead + } + + return (r, s); + } + + function test_utils(uint256 privateKey, bytes32 hash) external { + vm.assume(hash != 0); + vm.assume(privateKey != 0); + (uint256 x1, uint256 y1) = generatePublicKey(privateKey); + (uint256 r, uint256 s) = generateSignature(privateKey, hash); + + vm.assume(x1 != 0); + vm.assume(y1 != 0); + vm.assume(r != 0); + vm.assume(s < P256.P256_N_DIV_2); + assertEq(P256.verifySignature(hash, r, s, x1, y1), true); + } + + function test_validate_signature() external override { + Kernel kernel2 = Kernel(payable(factory.createAccount(address(kernelImpl), getInitializeData(), 3))); + bytes32 hash = keccak256(abi.encodePacked("hello world")); + + bytes32 digest = keccak256( + abi.encodePacked( + "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash + ) + ); + + (uint256 r, uint256 s) = generateSignature(ownerKey, digest); + + assertEq(kernel.isValidSignature(hash, abi.encode(r, s)), Kernel.isValidSignature.selector); + assertEq(kernel2.isValidSignature(hash, abi.encode(r, s)), bytes4(0xffffffff)); + } + + function test_fail_validate_wrongsignature() external override { + bytes32 hash = keccak256(abi.encodePacked("hello world")); + bytes memory sig = getWrongSignature(hash); + assertEq(kernel.isValidSignature(hash, sig), bytes4(0xffffffff)); + } + + function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { + bytes32 hash = entryPoint.getUserOpHash(op); + (uint256 r, uint256 s) = generateSignature(ownerKey, hash); + return abi.encodePacked(bytes4(0x00000000), abi.encode(r, s)); + } + + function getWrongSignature(UserOperation memory op) internal view override returns (bytes memory) { + bytes32 hash = entryPoint.getUserOpHash(op); + (uint256 r, uint256 s) = generateSignature(ownerKey + 1, hash); + return abi.encodePacked(bytes4(0x00000000), abi.encode(r, s)); + } + + function signHash(bytes32 hash) internal view override returns (bytes memory) { + (uint256 r, uint256 s) = generateSignature(ownerKey, ECDSA.toEthSignedMessageHash(hash)); + return abi.encode(r, s); + } + + function getWrongSignature(bytes32 hash) internal view override returns (bytes memory) { + (uint256 r, uint256 s) = generateSignature(ownerKey + 1, ECDSA.toEthSignedMessageHash(hash)); + return abi.encode(r, s); + } + + function verifyPublicKey(uint256 actualX, uint256 actualY, uint256 expectedX, uint256 expectedY) internal { + assertEq(actualX, expectedX, "Public key X component mismatch"); + assertEq(actualY, expectedY, "Public key Y component mismatch"); + } +} diff --git a/test/foundry/validator/SessionKeyValidator.t.sol b/test/foundry/validator/SessionKeyValidator.t.sol index bf831ec2..3c7927c5 100644 --- a/test/foundry/validator/SessionKeyValidator.t.sol +++ b/test/foundry/validator/SessionKeyValidator.t.sol @@ -107,7 +107,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { ) }); - op = entryPoint.fillUserOp(address(kernel), abi.encodeWithSelector(IKernel.executeBatch.selector, calls)); + op = buildUserOperation(abi.encodeWithSelector(IKernel.executeBatch.selector, calls)); if (usingPaymasterMode != 0) { // 0 = no paymaster // 1 = unknown paymaster @@ -156,8 +156,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { bool param1Faulty, bool param2Faulty ) internal view returns (UserOperation memory op) { - op = entryPoint.fillUserOp( - address(kernel), + op = buildUserOperation( abi.encodeWithSelector( IKernel.execute.selector, permissions[indexToUse].target, @@ -306,12 +305,10 @@ contract SessionKeyValidatorTest is KernelECDSATest { ) ); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; if (shouldFail) { vm.expectRevert(); } - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); if (config.interval > 0 && config.validAfter > 0 && !shouldFail) { (ValidAfter updatedValidAfter, uint48 r) = sessionKeyValidator.executionStatus( keccak256(abi.encodePacked(sessionData.nonce, uint32(config.indexToUse))), address(kernel) @@ -335,10 +332,10 @@ contract SessionKeyValidatorTest is KernelECDSATest { if (config.earlyRun == i) { vm.expectRevert(); } - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); if (config.earlyRun == i) { vm.warp(config.validAfter + config.interval * i); - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); } (ValidAfter updatedValidAfter, uint48 r) = sessionKeyValidator.executionStatus( keccak256(abi.encodePacked(sessionData.nonce, uint32(config.indexToUse))), address(kernel) @@ -355,7 +352,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { op.nonce = op.nonce + 1; op.signature = _getBatchActionSignature(op, permissions, config.indexToUse); vm.expectRevert(); - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); } } @@ -413,12 +410,10 @@ contract SessionKeyValidatorTest is KernelECDSATest { ) ); - UserOperation[] memory ops = new UserOperation[](1); - ops[0] = op; if (shouldFail) { vm.expectRevert(); } - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); if (config.interval > 0 && config.validAfter > 0 && !shouldFail) { (ValidAfter updatedValidAfter, uint48 r) = sessionKeyValidator.executionStatus( keccak256(abi.encodePacked(sessionData.nonce, uint32(config.indexToUse))), address(kernel) @@ -442,10 +437,10 @@ contract SessionKeyValidatorTest is KernelECDSATest { if (config.earlyRun == i) { vm.expectRevert(); } - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); if (config.earlyRun == i) { vm.warp(config.validAfter + config.interval * i); - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); } (ValidAfter updatedValidAfter, uint48 r) = sessionKeyValidator.executionStatus( keccak256(abi.encodePacked(sessionData.nonce, uint32(config.indexToUse))), address(kernel) @@ -462,7 +457,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { op.nonce = op.nonce + 1; op.signature = _getSingleActionSignature(op, permissions, config.indexToUse); vm.expectRevert(); - entryPoint.handleOps(ops, beneficiary); + performUserOperation(op); } } From 3a70444e02cceb0da87ddb35739e1afe4b182ac6 Mon Sep 17 00:00:00 2001 From: taek Date: Thu, 7 Dec 2023 03:27:13 +0900 Subject: [PATCH 08/51] deterministic deploy (#51) --- scripts/DeployDeterministic.s.sol | 40 +++++++++++++++ scripts/DeployKernelInitial.s.sol | 51 +++++++++++++++++++ .../deterministic/DeterministicDeploy.s.sol | 17 +++++++ scripts/deterministic/ECDSAValidator.s.sol | 13 +++++ scripts/deterministic/Factory.s.sol | 12 +++++ scripts/deterministic/Kernel2_2.s.sol | 14 +++++ scripts/deterministic/Kernel2_3.s.sol | 17 +++++++ scripts/deterministic/SessionKey.s.sol | 12 +++++ 8 files changed, 176 insertions(+) create mode 100644 scripts/DeployDeterministic.s.sol create mode 100644 scripts/DeployKernelInitial.s.sol create mode 100644 scripts/deterministic/DeterministicDeploy.s.sol create mode 100644 scripts/deterministic/ECDSAValidator.s.sol create mode 100644 scripts/deterministic/Factory.s.sol create mode 100644 scripts/deterministic/Kernel2_2.s.sol create mode 100644 scripts/deterministic/Kernel2_3.s.sol create mode 100644 scripts/deterministic/SessionKey.s.sol diff --git a/scripts/DeployDeterministic.s.sol b/scripts/DeployDeterministic.s.sol new file mode 100644 index 00000000..6a141e47 --- /dev/null +++ b/scripts/DeployDeterministic.s.sol @@ -0,0 +1,40 @@ +pragma solidity ^0.8.0; + +import "src/factory/KernelFactory.sol"; +import "forge-std/Script.sol"; + +import "./deterministic/ECDSAValidator.s.sol"; +import "./deterministic/Factory.s.sol"; +import "./deterministic/SessionKey.s.sol"; +import "./deterministic/Kernel2_2.s.sol"; +import "./deterministic/Kernel2_3.s.sol"; + +contract DeployDeterministic is Script { + address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; + function run() external { + uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); + vm.startBroadcast(key); + KernelFactory factory = KernelFactory(payable(FactoryDeploy.deploy())); + + ECDSAValidatorDeploy.deploy(); + SessionKeyDeploy.deploy(); + + (address k22, address k22lite) = Kernel_2_2_Deploy.deploy(); + + if(!factory.isAllowedImplementation(k22)) { + factory.setImplementation(k22, true); + } + if(!factory.isAllowedImplementation(k22lite)) { + factory.setImplementation(k22lite, true); + } + + (address k23, address k23lite) = Kernel_2_3_Deploy.deploy(); + if(!factory.isAllowedImplementation(k23)) { + factory.setImplementation(k23, true); + } + if(!factory.isAllowedImplementation(k23lite)) { + factory.setImplementation(k23lite, true); + } + vm.stopBroadcast(); + } +} diff --git a/scripts/DeployKernelInitial.s.sol b/scripts/DeployKernelInitial.s.sol new file mode 100644 index 00000000..b18e5683 --- /dev/null +++ b/scripts/DeployKernelInitial.s.sol @@ -0,0 +1,51 @@ +pragma solidity ^0.8.0; + +import "src/factory/KernelFactory.sol"; +import "I4337/interfaces/IStakeManager.sol"; +import "src/Kernel.sol"; +import "src/lite/KernelLiteECDSA.sol"; +import "forge-std/Script.sol"; +import "forge-std/console.sol"; +import "src/validator/ECDSAValidator.sol"; +contract DeployKernelInitial is Script { + address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; + address constant ENTRYPOINT_0_6 = 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789; + address constant ECDSAVALIDATOR = 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390; + address payable constant EXPECTED_KERNEL_FACTORY_ADDRESS = payable(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3); + function run() public { + uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); + vm.startBroadcast(key); + KernelFactory factory; + if(EXPECTED_KERNEL_FACTORY_ADDRESS.code.length == 0){ + factory = new KernelFactory{salt:0}(DEPLOYER, IEntryPoint(ENTRYPOINT_0_6)); + console.log("KernelFactory address: %s", address(factory)); + } else { + factory = KernelFactory(EXPECTED_KERNEL_FACTORY_ADDRESS); + } + //if(address(ECDSAVALIDATOR).code.length == 0) { + // console.log("ECDSAVALIDATOR NOT DEPLOYED"); + //} else { + // KernelLiteECDSA kernellite; + // kernellite = new KernelLiteECDSA{salt:0}(IEntryPoint(ENTRYPOINT_0_6), IKernelValidator(ECDSAVALIDATOR)); + // console.log("Kernel Lite address: %s", address(kernellite)); + // if(factory.isAllowedImplementation(address(kernellite)) == false) { + // console.log("Registering kernellite implementation"); + // factory.setImplementation(address(kernellite), true); + // } + //} + Kernel kernel; + kernel = new Kernel{salt:0}(IEntryPoint(ENTRYPOINT_0_6)); + console.log("Kernel address: %s", address(kernel)); + if(factory.isAllowedImplementation(address(kernel)) == false) { + console.log("Registering kernel implementation"); + factory.setImplementation(address(kernel), true); + } + IEntryPoint entryPoint = IEntryPoint(ENTRYPOINT_0_6); + IStakeManager.DepositInfo memory info = entryPoint.getDepositInfo(address(factory)); + if(info.stake == 0) { + console.log("Need to stake to factory"); + } + vm.stopBroadcast(); + } +} + diff --git a/scripts/deterministic/DeterministicDeploy.s.sol b/scripts/deterministic/DeterministicDeploy.s.sol new file mode 100644 index 00000000..10ecdf96 --- /dev/null +++ b/scripts/deterministic/DeterministicDeploy.s.sol @@ -0,0 +1,17 @@ +pragma solidity ^0.8.0; + +import "forge-std/console.sol"; + +library DeterministicDeploy { + address constant DETERMINISTIC_DEPLOYER = 0x4e59b44847b379578588920cA78FbF26c0B4956C; + function checkDeploy(string memory tag, address _expectedAddress, bytes memory _code) internal { + if(_expectedAddress.code.length == 0) { + (bool success, bytes memory addr) = DETERMINISTIC_DEPLOYER.call(_code); + require(success, "DeterministicDeploy: failed to deploy"); + require(address(bytes20(addr)) == _expectedAddress, "DeterministicDeploy: address mismatch"); + console.log(string.concat(tag, ": deployed at %s"), _expectedAddress); + } else { + console.log(string.concat(tag, ": already deployed")); + } + } +} diff --git a/scripts/deterministic/ECDSAValidator.s.sol b/scripts/deterministic/ECDSAValidator.s.sol new file mode 100644 index 00000000..e235d477 --- /dev/null +++ b/scripts/deterministic/ECDSAValidator.s.sol @@ -0,0 +1,13 @@ +pragma solidity ^0.8.0; + +import "./DeterministicDeploy.s.sol"; + +library ECDSAValidatorDeploy { + address constant EXPECTED_ECDSA_VALIDATOR_ADDRESS = 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390; + bytes constant VALIDATOR_CODE = hex"000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056"; + + function deploy() internal returns(address) { + DeterministicDeploy.checkDeploy("ECDSAValidator", EXPECTED_ECDSA_VALIDATOR_ADDRESS, VALIDATOR_CODE); + return EXPECTED_ECDSA_VALIDATOR_ADDRESS; + } +} diff --git a/scripts/deterministic/Factory.s.sol b/scripts/deterministic/Factory.s.sol new file mode 100644 index 00000000..4cf5a078 --- /dev/null +++ b/scripts/deterministic/Factory.s.sol @@ -0,0 +1,12 @@ +pragma solidity ^0.8.0; + +import "./DeterministicDeploy.s.sol"; + +library FactoryDeploy { + address payable constant EXPECTED_KERNEL_FACTORY_ADDRESS = payable(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3); + bytes constant KERNEL_FACTORY_CODE = hex"00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + function deploy() internal returns(address) { + DeterministicDeploy.checkDeploy("factory",EXPECTED_KERNEL_FACTORY_ADDRESS, KERNEL_FACTORY_CODE); + return EXPECTED_KERNEL_FACTORY_ADDRESS; + } +} diff --git a/scripts/deterministic/Kernel2_2.s.sol b/scripts/deterministic/Kernel2_2.s.sol new file mode 100644 index 00000000..a58113e8 --- /dev/null +++ b/scripts/deterministic/Kernel2_2.s.sol @@ -0,0 +1,14 @@ +pragma solidity ^0.8.0; +import "./DeterministicDeploy.s.sol"; + +library Kernel_2_2_Deploy { + address constant EXPECTED_KERNEL_2_2_ADDRESS = 0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5; + bytes constant KERNEL_2_2_CODE = hex"000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + address constant EXPECTED_KERNEL_LITE_2_2_ADDRESS = 0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96; + bytes constant KERNEL_LITE_2_2_CODE = hex"0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390"; + function deploy() internal returns(address, address) { + DeterministicDeploy.checkDeploy("Kernel 2.2", EXPECTED_KERNEL_2_2_ADDRESS, KERNEL_2_2_CODE); + DeterministicDeploy.checkDeploy("Kernel lite 2.2", EXPECTED_KERNEL_LITE_2_2_ADDRESS, KERNEL_LITE_2_2_CODE); + return (EXPECTED_KERNEL_2_2_ADDRESS, EXPECTED_KERNEL_LITE_2_2_ADDRESS); + } +} diff --git a/scripts/deterministic/Kernel2_3.s.sol b/scripts/deterministic/Kernel2_3.s.sol new file mode 100644 index 00000000..b13588d9 --- /dev/null +++ b/scripts/deterministic/Kernel2_3.s.sol @@ -0,0 +1,17 @@ +pragma solidity ^0.8.0; + +import "./DeterministicDeploy.s.sol"; + +library Kernel_2_3_Deploy { + address constant EXPECTED_KERNEL_2_3_ADDRESS = 0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab; + bytes constant KERNEL_2_3_CODE = hex"000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + + address constant EXPECTED_KERNEL_LITE_2_3_ADDRESS = 0x482EC42E88a781485E1B6A4f07a0C5479d183291; + bytes constant KERNEL_LITE_2_3_CODE = hex"0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390"; + + function deploy() public returns(address, address){ + DeterministicDeploy.checkDeploy("Kernel 2.3", EXPECTED_KERNEL_2_3_ADDRESS, KERNEL_2_3_CODE); + DeterministicDeploy.checkDeploy("Kernel Lite 2.3", EXPECTED_KERNEL_LITE_2_3_ADDRESS, KERNEL_LITE_2_3_CODE); + return (EXPECTED_KERNEL_2_3_ADDRESS, EXPECTED_KERNEL_LITE_2_3_ADDRESS); + } +} diff --git a/scripts/deterministic/SessionKey.s.sol b/scripts/deterministic/SessionKey.s.sol new file mode 100644 index 00000000..14cc5468 --- /dev/null +++ b/scripts/deterministic/SessionKey.s.sol @@ -0,0 +1,12 @@ +pragma solidity ^0.8.0; + +import "./DeterministicDeploy.s.sol"; + +library SessionKeyDeploy { + address constant EXPECTED_SESSIONKEY_ADDRESS = 0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123; + bytes constant SESSIONKEY_CODE = hex"0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056"; + function deploy() internal returns(address) { + DeterministicDeploy.checkDeploy("SessionKey", EXPECTED_SESSIONKEY_ADDRESS, SESSIONKEY_CODE); + return EXPECTED_SESSIONKEY_ADDRESS; + } +} From bdac4adf0d078ddc81911abc11c1b2c140ec6b3b Mon Sep 17 00:00:00 2001 From: Quentin Nivelais Date: Mon, 11 Dec 2023 16:44:46 +0100 Subject: [PATCH 09/51] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20Optimise=20gas=20usa?= =?UTF-8?q?ge=20when=20enabling=20p256=20validator,=20add=20a=20few=20comm?= =?UTF-8?q?ents=20(#52)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ⚡️ Optimise gas usage when enabling p256 validator, add a few comments - Reducing the number of indexed variable inside a log highly decrease his gas usage, in the p256 validator, we only matter about the kernel account as index (it's 375 gas per topic, so per indexed props, so reducing the index on both key reduce the enabling gas cost by 375 * 4 -> 1500 gas) - Add a few reflexion todo comment, do you rly need to send the previous key in the event? Since it's cost with a `sload`& also in the event itself * ⚡️ Remove the oldKeys for the event signature * ⚡️ Only compare to raw msg signing instead of eth signed message for p256 --- src/Kernel.sol | 2 +- src/validator/P256Validator.sol | 53 ++++++++++++------- test/foundry/KernelLiteECDSA.t.sol | 3 +- test/foundry/KernelTestBase.sol | 7 ++- .../validator/KillSwitchValidator.t.sol | 3 +- test/foundry/validator/P256Validator.t.sol | 15 +++--- 6 files changed, 51 insertions(+), 32 deletions(-) diff --git a/src/Kernel.sol b/src/Kernel.sol index 74f2425b..25a94b18 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -29,7 +29,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { /// @dev Selector of the `DisabledMode()` error, to be used in assembly, 'bytes4(keccak256(bytes("DisabledMode()")))', same as DisabledMode.selector() uint256 private constant _DISABLED_MODE_SELECTOR = 0xfc2f51c5; - /// @dev Current kernel name and version, todo: Need to expose getter for this variables? + /// @dev Current kernel name and version, todo: Need to expose getter for this variables? string public constant name = KERNEL_NAME; string public constant version = KERNEL_VERSION; diff --git a/src/validator/P256Validator.sol b/src/validator/P256Validator.sol index 02f122fd..fbbe7c1a 100644 --- a/src/validator/P256Validator.sol +++ b/src/validator/P256Validator.sol @@ -9,55 +9,72 @@ import {ValidationData} from "../common/Types.sol"; import {SIG_VALIDATION_FAILED} from "../common/Constants.sol"; import {P256} from "p256-verifier/P256.sol"; +/// @title P256Validator +/// @notice This validator uses the P256 curve to validate signatures. contract P256Validator is IKernelValidator { - event P256PublicKeysChanged(address indexed kernel, PublicKey indexed oldKeys, PublicKey indexed newKeys); + /// @notice Emitted when a bad key is provided. + error BadKey(); + + /// @notice Emitted when the public key of a kernel is changed. + event P256PublicKeysChanged(address indexed kernel, PublicKey newKeys); + /// @notice The P256 public key of a kernel. struct PublicKey { uint256 x; uint256 y; } - error BadKey(); - - mapping(address => PublicKey) public p256PublicKey; + /// @notice The P256 public keys of a kernel. + mapping(address kernel => PublicKey PublicKey) public p256PublicKey; + /// @notice Enable this validator for a kernel account. + /// @dev The kernel account need to be the `msg.sender`. + /// @dev The public key is encoded as `abi.encode(PublicKey)` inside the data, so (uint256,uint256). function enable(bytes calldata _data) external payable override { PublicKey memory key = abi.decode(_data, (PublicKey)); if (key.x == 0 || key.y == 0) { revert BadKey(); } - PublicKey memory oldKey = p256PublicKey[msg.sender]; + // Update the key (so a sstore) p256PublicKey[msg.sender] = key; - emit P256PublicKeysChanged(msg.sender, oldKey, key); + // And emit the event + emit P256PublicKeysChanged(msg.sender, key); } + /// @notice Disable this validator for a kernel account. + /// @dev The kernel account need to be the `msg.sender`. function disable(bytes calldata) external payable override { delete p256PublicKey[msg.sender]; } - function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) external payable override returns (ValidationData validationData) { + /// @notice Validate a user operation. + function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) + external + payable + override + returns (ValidationData validationData) + { (uint256 r, uint256 s) = abi.decode(_userOp.signature, (uint256, uint256)); PublicKey memory key = p256PublicKey[_userOp.sender]; - bytes32 hash = ECDSA.toEthSignedMessageHash(_userOpHash); - if (P256.verifySignature(hash, r, s, key.x, key.y)) { + if (P256.verifySignature(_userOpHash, r, s, key.x, key.y)) { return ValidationData.wrap(0); - } - if (!P256.verifySignature(_userOpHash, r, s, key.x, key.y)) { - return SIG_VALIDATION_FAILED; } + return SIG_VALIDATION_FAILED; } - function validateSignature(bytes32 hash, bytes calldata signature) external view override returns (ValidationData) { + /// @notice Validate a signature. + function validateSignature(bytes32 hash, bytes calldata signature) + external + view + override + returns (ValidationData) + { (uint256 r, uint256 s) = abi.decode(signature, (uint256, uint256)); PublicKey memory key = p256PublicKey[msg.sender]; if (P256.verifySignature(hash, r, s, key.x, key.y)) { return ValidationData.wrap(0); } - bytes32 ethHash = ECDSA.toEthSignedMessageHash(hash); - if (!P256.verifySignature(ethHash, r, s, key.x, key.y)) { - return SIG_VALIDATION_FAILED; - } - return ValidationData.wrap(0); + return SIG_VALIDATION_FAILED; } function validCaller(address _caller, bytes calldata) external view override returns (bool) { diff --git a/test/foundry/KernelLiteECDSA.t.sol b/test/foundry/KernelLiteECDSA.t.sol index 3496986c..192555c3 100644 --- a/test/foundry/KernelLiteECDSA.t.sol +++ b/test/foundry/KernelLiteECDSA.t.sol @@ -97,7 +97,8 @@ contract KernelECDSATest is KernelTestBase { function test_transfer_ownership() external { address newOwner = makeAddr("new owner"); - UserOperation memory op = buildUserOperation(abi.encodeWithSelector(KernelLiteECDSA.transferOwnership.selector, newOwner)); + UserOperation memory op = + buildUserOperation(abi.encodeWithSelector(KernelLiteECDSA.transferOwnership.selector, newOwner)); vm.expectEmit(true, true, true, false, address(entryPoint)); emit UserOperationEvent(entryPoint.getUserOpHash(op), address(kernel), address(0), op.nonce, false, 0, 0); performUserOperationWithSig(op); diff --git a/test/foundry/KernelTestBase.sol b/test/foundry/KernelTestBase.sol index 1951cba4..366761c8 100644 --- a/test/foundry/KernelTestBase.sol +++ b/test/foundry/KernelTestBase.sol @@ -272,7 +272,9 @@ abstract contract KernelTestBase is Test { function test_disable_mode() external { vm.warp(1000); bytes memory empty; - UserOperation memory op = buildUserOperation(abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001), address(0), empty)); + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001), address(0), empty) + ); performUserOperationWithSig(op); assertEq(uint256(bytes32(IKernel(address(kernel)).getDisabledMode())), 1 << 224); assertEq(uint256(IKernel(address(kernel)).getLastDisabledTime()), block.timestamp); @@ -336,7 +338,8 @@ abstract contract KernelTestBase is Test { function test_revert_when_mode_disabled() external { vm.warp(1000); bytes memory empty; - UserOperation memory op = buildUserOperation(abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001), address(0), empty) + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector(IKernel.disableMode.selector, bytes4(0x00000001), address(0), empty) ); performUserOperationWithSig(op); diff --git a/test/foundry/validator/KillSwitchValidator.t.sol b/test/foundry/validator/KillSwitchValidator.t.sol index 6b080d64..8a3861fb 100644 --- a/test/foundry/validator/KillSwitchValidator.t.sol +++ b/test/foundry/validator/KillSwitchValidator.t.sol @@ -68,7 +68,8 @@ contract KillSwitchValidatorTest is KernelECDSATest { } function test_force_unblock() external { - UserOperation memory op = buildUserOperation(abi.encodeWithSelector(Kernel.execute.selector, owner, 0, "", Operation.Call)); + UserOperation memory op = + buildUserOperation(abi.encodeWithSelector(Kernel.execute.selector, owner, 0, "", Operation.Call)); op.signature = bytes.concat(bytes4(0), entryPoint.signUserOpHash(vm, ownerKey, op)); performUserOperation(op); diff --git a/test/foundry/validator/P256Validator.t.sol b/test/foundry/validator/P256Validator.t.sol index 25336449..6ffc012f 100644 --- a/test/foundry/validator/P256Validator.t.sol +++ b/test/foundry/validator/P256Validator.t.sol @@ -16,7 +16,6 @@ import {P256} from "p256-verifier/P256.sol"; import {FCL_ecdsa_utils} from "FreshCryptoLib/FCL_ecdsa_utils.sol"; import {IKernel} from "src/interfaces/IKernel.sol"; - using ERC4337Utils for IEntryPoint; contract P256ValidatorTest is KernelTestBase { @@ -24,9 +23,7 @@ contract P256ValidatorTest is KernelTestBase { P256Validator p256Validator; // Curve order (number of points) - uint256 constant n = - 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551; - + uint256 constant n = 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551; uint256 x; uint256 y; @@ -55,7 +52,7 @@ contract P256ValidatorTest is KernelTestBase { return abi.encodePacked(bytes4(0x00000000), abi.encode(r, s)); } - function getOwners() internal virtual override returns (address[] memory _owners){ + function getOwners() internal virtual override returns (address[] memory _owners) { _owners = new address[](1); _owners[0] = address(0); return _owners; @@ -69,7 +66,7 @@ contract P256ValidatorTest is KernelTestBase { return abi.encodeWithSelector(KernelStorage.initialize.selector, p256Validator, abi.encode(x, y)); } - function test_default_validator_enable() external override{ + function test_default_validator_enable() external override { UserOperation memory op = buildUserOperation( abi.encodeWithSelector( IKernel.execute.selector, @@ -106,7 +103,7 @@ contract P256ValidatorTest is KernelTestBase { function test_external_call_execute_success() external override { vm.skip(true); } - + function test_external_call_execute_delegatecall_success() external override { vm.skip(true); } @@ -150,7 +147,7 @@ contract P256ValidatorTest is KernelTestBase { vm.assume(privateKey != 0); (uint256 x1, uint256 y1) = generatePublicKey(privateKey); (uint256 r, uint256 s) = generateSignature(privateKey, hash); - + vm.assume(x1 != 0); vm.assume(y1 != 0); vm.assume(r != 0); @@ -161,7 +158,7 @@ contract P256ValidatorTest is KernelTestBase { function test_validate_signature() external override { Kernel kernel2 = Kernel(payable(factory.createAccount(address(kernelImpl), getInitializeData(), 3))); bytes32 hash = keccak256(abi.encodePacked("hello world")); - + bytes32 digest = keccak256( abi.encodePacked( "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash From 0de3fea7e1061821585817bb27fd1f28a8dcf21a Mon Sep 17 00:00:00 2001 From: taek Date: Wed, 13 Dec 2023 17:25:33 +0900 Subject: [PATCH 10/51] Fix/audit recovery (#53) * added threshold check to make sure threshold is not zero * added userOp.sender on callDataAndNonceHash * added userOp.sender on callDataAndNonceHash * added check if guardian is msg.sender * fmt * ZeroDev-RW-2 : using live weights * ZeroDev-RW-4 and ZeroDev-RW-2 fix * fmt --- lib/forge-std | 2 +- lib/p256-verifier | 2 +- lib/solady | 2 +- src/validator/WeightedECDSAValidator.sol | 77 ++++++++++++++++++++---- 4 files changed, 68 insertions(+), 15 deletions(-) diff --git a/lib/forge-std b/lib/forge-std index 37a37ab7..2f112697 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit 37a37ab73364d6644bfe11edf88a07880f99bd56 +Subproject commit 2f112697506eab12d433a65fdc31a639548fe365 diff --git a/lib/p256-verifier b/lib/p256-verifier index fcaa173c..29475ae3 160000 --- a/lib/p256-verifier +++ b/lib/p256-verifier @@ -1 +1 @@ -Subproject commit fcaa173c36e6a0fd55370f74f949998356869b2c +Subproject commit 29475ae300ec95d98d5c7cc34c094846f0aa2dcd diff --git a/lib/solady b/lib/solady index cde0a5fb..cb801a60 160000 --- a/lib/solady +++ b/lib/solady @@ -1 +1 @@ -Subproject commit cde0a5fb594da8655ba6bfcdc2e40a7c870c0cc0 +Subproject commit cb801a60f8319a148697b09d19b748d04e3d65c4 diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index faa4f3bc..d77b8807 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -29,8 +29,8 @@ enum ProposalStatus { struct ProposalStorage { ProposalStatus status; ValidAfter validAfter; - uint24 weightApproved; } +// TODO add validUntil enum VoteStatus { NA, @@ -49,7 +49,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { voteStatus; function _domainNameAndVersion() internal pure override returns (string memory, string memory) { - return ("WeightedECDSAValidator", "1"); + return ("WeightedECDSAValidator", "0.0.1"); } function enable(bytes calldata _data) external payable override { @@ -59,6 +59,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { require(weightedStorage[msg.sender].totalWeight == 0, "Already enabled"); weightedStorage[msg.sender].firstGuardian = msg.sender; for (uint256 i = 0; i < _guardians.length; i++) { + require(_guardians[i] != msg.sender, "Guardian cannot be self"); require(_guardians[i] != address(0), "Guardian cannot be 0"); require(_weights[i] != 0, "Weight cannot be 0"); require(guardian[_guardians[i]][msg.sender].weight == 0, "Guardian already enabled"); @@ -82,15 +83,44 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { delete weightedStorage[msg.sender]; } + function renew(address[] calldata _guardians, uint24[] calldata _weights, uint24 _threshold, uint48 _delay) + external + payable + { + require(weightedStorage[msg.sender].totalWeight != 0, "Not enabled"); + address currentGuardian = weightedStorage[msg.sender].firstGuardian; + while (currentGuardian != msg.sender) { + address nextGuardian = guardian[currentGuardian][msg.sender].nextGuardian; + delete guardian[currentGuardian][msg.sender]; + currentGuardian = nextGuardian; + } + delete weightedStorage[msg.sender]; + require(_guardians.length == _weights.length, "Length mismatch"); + weightedStorage[msg.sender].firstGuardian = msg.sender; + for (uint256 i = 0; i < _guardians.length; i++) { + require(_guardians[i] != msg.sender, "Guardian cannot be self"); + require(_guardians[i] != address(0), "Guardian cannot be 0"); + require(_weights[i] != 0, "Weight cannot be 0"); + require(guardian[_guardians[i]][msg.sender].weight == 0, "Guardian already enabled"); + guardian[_guardians[i]][msg.sender] = + GuardianStorage({weight: _weights[i], nextGuardian: weightedStorage[msg.sender].firstGuardian}); + weightedStorage[msg.sender].firstGuardian = _guardians[i]; + weightedStorage[msg.sender].totalWeight += _weights[i]; + } + weightedStorage[msg.sender].delay = _delay; + weightedStorage[msg.sender].threshold = _threshold; + } + function approve(bytes32 _callDataAndNonceHash, address _kernel) external { require(guardian[msg.sender][_kernel].weight != 0, "Guardian not enabled"); + require(weightedStorage[_kernel].threshold != 0, "Kernel not enabled"); ProposalStorage storage proposal = proposalStatus[_callDataAndNonceHash][_kernel]; require(proposal.status == ProposalStatus.Ongoing, "Proposal not ongoing"); VoteStorage storage vote = voteStatus[_callDataAndNonceHash][msg.sender][_kernel]; require(vote.status == VoteStatus.NA, "Already voted"); vote.status = VoteStatus.Approved; - proposal.weightApproved += guardian[msg.sender][_kernel].weight; - if (proposal.weightApproved >= weightedStorage[_kernel].threshold) { + (, bool isApproved) = getApproval(_kernel, _callDataAndNonceHash); + if (isApproved) { proposal.status = ProposalStatus.Approved; proposal.validAfter = ValidAfter.wrap(uint48(block.timestamp + weightedStorage[_kernel].delay)); } @@ -98,6 +128,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { function approveWithSig(bytes32 _callDataAndNonceHash, address _kernel, bytes calldata sigs) external { uint256 sigCount = sigs.length / 65; + require(weightedStorage[_kernel].threshold != 0, "Kernel not enabled"); ProposalStorage storage proposal = proposalStatus[_callDataAndNonceHash][_kernel]; require(proposal.status == ProposalStatus.Ongoing, "Proposal not ongoing"); for (uint256 i = 0; i < sigCount; i++) { @@ -110,9 +141,10 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { VoteStorage storage vote = voteStatus[_callDataAndNonceHash][signer][_kernel]; require(vote.status == VoteStatus.NA, "Already voted"); vote.status = VoteStatus.Approved; - proposal.weightApproved += guardian[signer][_kernel].weight; } - if (proposal.weightApproved >= weightedStorage[_kernel].threshold) { + + (, bool isApproved) = getApproval(_kernel, _callDataAndNonceHash); + if (isApproved) { proposal.status = ProposalStatus.Approved; proposal.validAfter = ValidAfter.wrap(uint48(block.timestamp + weightedStorage[_kernel].delay)); } @@ -132,10 +164,15 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { payable returns (ValidationData validationData) { - bytes32 callDataAndNonceHash = keccak256(abi.encode(userOp.callData, userOp.nonce)); + bytes32 callDataAndNonceHash = keccak256(abi.encode(userOp.sender, userOp.callData, userOp.nonce)); ProposalStorage storage proposal = proposalStatus[callDataAndNonceHash][msg.sender]; WeightedECDSAValidatorStorage storage strg = weightedStorage[msg.sender]; - if (proposal.status == ProposalStatus.Ongoing) { + if (strg.threshold == 0) { + return SIG_VALIDATION_FAILED; + } + (uint256 totalWeight, bool passed) = getApproval(msg.sender, callDataAndNonceHash); + uint256 threshold = strg.threshold; + if (proposal.status == ProposalStatus.Ongoing && !passed) { if (strg.delay != 0) { // if delay > 0, only allow proposal to be approved before execution return SIG_VALIDATION_FAILED; @@ -143,10 +180,9 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { bytes calldata sig = userOp.signature; // parse sig with 65 bytes uint256 sigCount = sig.length / 65; - uint256 totalWeight = proposal.weightApproved; address signer; VoteStorage storage vote; - for (uint256 i = 0; i < sigCount; i++) { + for (uint256 i = 0; i < sigCount && !passed; i++) { // last sig is for userOpHash verification signer = ECDSA.recover( _hashTypedData( @@ -160,14 +196,17 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { } // skip if already voted vote.status = VoteStatus.Approved; totalWeight += guardian[signer][msg.sender].weight; + if (totalWeight >= threshold) { + passed = true; + } } - if (totalWeight >= strg.threshold) { + if (passed) { validationData = packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); proposal.status = ProposalStatus.Executed; } else { validationData = SIG_VALIDATION_FAILED; } - } else if (proposal.status == ProposalStatus.Approved) { + } else if (proposal.status == ProposalStatus.Approved || passed) { validationData = packValidationData(proposal.validAfter, ValidUntil.wrap(0)); proposal.status = ProposalStatus.Executed; } else { @@ -175,6 +214,20 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { } } + function getApproval(address kernel, bytes32 hash) public view returns (uint256 approvals, bool passed) { + WeightedECDSAValidatorStorage storage strg = weightedStorage[kernel]; + for ( + address currentGuardian = strg.firstGuardian; + currentGuardian != address(0); + currentGuardian = guardian[currentGuardian][kernel].nextGuardian + ) { + if (voteStatus[hash][currentGuardian][kernel].status == VoteStatus.Approved) { + approvals += guardian[currentGuardian][kernel].weight; + } + } + passed = approvals >= strg.threshold; + } + function validCaller(address, bytes calldata) external pure override returns (bool) { return false; } From bf5614dc228bfe91508cc82e0d4612cabc97e553 Mon Sep 17 00:00:00 2001 From: Quentin Nivelais Date: Wed, 13 Dec 2023 09:34:47 +0100 Subject: [PATCH 11/51] =?UTF-8?q?=E2=9C=A8=20Introduce=20a=20new=20Ecdsa?= =?UTF-8?q?=20Validator,=20using=20EIP-712=20as=20signature=20(#55)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ Add a new ECDSA Typed validator, using EIP-712 signature to validate userOp * ✅ Adding unit test arround EcdsaTypedValidator * ✏️ Rename hash -> userOpHash in AllowUserOp sig --- src/validator/ECDSATypedValidator.sol | 125 ++++++++++++++ test/foundry/validator/KernelECDSATyped.t.sol | 156 ++++++++++++++++++ 2 files changed, 281 insertions(+) create mode 100644 src/validator/ECDSATypedValidator.sol create mode 100644 test/foundry/validator/KernelECDSATyped.t.sol diff --git a/src/validator/ECDSATypedValidator.sol b/src/validator/ECDSATypedValidator.sol new file mode 100644 index 00000000..f2dea0c3 --- /dev/null +++ b/src/validator/ECDSATypedValidator.sol @@ -0,0 +1,125 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ECDSA} from "solady/utils/ECDSA.sol"; +import {EIP712} from "solady/utils/EIP712.sol"; +import {IKernelValidator} from "../interfaces/IKernelValidator.sol"; +import {ValidationData} from "../common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "../common/Constants.sol"; + +struct ECDSATypedValidatorStorage { + address owner; +} + +/// @author @KONFeature +/// @title ECDSATypedValidator +/// @notice This validator uses the ECDSA curve to validate signatures. +/// @notice It's using EIP-712 format signature to validate user operations signature & classic signature +contract ECDSATypedValidator is IKernelValidator, EIP712 { + /// @notice The type hash used for kernel user op validation + bytes32 constant USER_OP_TYPEHASH = keccak256("AllowUserOp(address owner,address kernelWallet,bytes32 userOpHash)"); + /// @notice The type hash used for kernel signature validation + bytes32 constant SIGNATURE_TYPEHASH = keccak256("KernelSignature(address owner,address kernelWallet,bytes32 hash)"); + + /// @notice Emitted when the owner of a kernel is changed. + event OwnerChanged(address indexed kernel, address newOwner); + + /* -------------------------------------------------------------------------- */ + /* Storage */ + /* -------------------------------------------------------------------------- */ + + /// @notice The validator storage of a kernel. + mapping(address kernel => ECDSATypedValidatorStorage validatorStorage) private ecdsaValidatorStorage; + + /* -------------------------------------------------------------------------- */ + /* EIP-712 Methods */ + /* -------------------------------------------------------------------------- */ + + /// @dev Get the current name & version of the validator, used for the EIP-712 domain separator from Solady + function _domainNameAndVersion() internal pure override returns (string memory, string memory) { + return ("Kernel:ECDSATypedValidator", "1.0.0"); + } + + /// @dev Tell to solady that the current name & version of the validator won't change, so no need to recompute the eip-712 domain separator + function _domainNameAndVersionMayChange() internal pure override returns (bool) { + return false; + } + + /// @dev Export the current domain seperator + function getDomainSeperator() public view returns (bytes32) { + return _domainSeparator(); + } + + /* -------------------------------------------------------------------------- */ + /* Kernel validator Methods */ + /* -------------------------------------------------------------------------- */ + + /// @dev Enable this validator for a given `kernel` (msg.sender) + function enable(bytes calldata _data) external payable override { + address owner = address(bytes20(_data[0:20])); + ecdsaValidatorStorage[msg.sender].owner = owner; + emit OwnerChanged(msg.sender, owner); + } + + /// @dev Disable this validator for a given `kernel` (msg.sender) + function disable(bytes calldata) external payable override { + delete ecdsaValidatorStorage[msg.sender]; + } + + /// @dev Validate a `_userOp` using a EIP-712 signature, signed by the owner of the kernel account who is the `_userOp` sender + function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) + external + payable + override + returns (ValidationData validationData) + { + // Get the owner for the given kernel account + address owner = ecdsaValidatorStorage[_userOp.sender].owner; + + // Build the full message hash to check against + bytes32 typedDataHash = + _hashTypedData(keccak256(abi.encode(USER_OP_TYPEHASH, owner, _userOp.sender, _userOpHash))); + + // Validate the typed data hash signature + if (owner == ECDSA.recover(typedDataHash, _userOp.signature)) { + // If that worked, return a valid validation data + return ValidationData.wrap(0); + } + + // If not, return a failed validation data + return SIG_VALIDATION_FAILED; + } + + /// @dev Validate a `_signature` of the `_hash` ofor the given `kernel` (msg.sender) + function validateSignature(bytes32 _hash, bytes calldata signature) public view override returns (ValidationData) { + // Get the owner for the given kernel account + address owner = ecdsaValidatorStorage[msg.sender].owner; + + // Build the full message hash to check against + bytes32 typedDataHash = _hashTypedData(keccak256(abi.encode(SIGNATURE_TYPEHASH, owner, msg.sender, _hash))); + + // Validate the typed data hash signature + if (owner == ECDSA.recover(typedDataHash, signature)) { + // If that worked, return a valid validation data + return ValidationData.wrap(0); + } + + // If not, return a failed validation data + return SIG_VALIDATION_FAILED; + } + + /// @dev Check if the caller is a valid signer for this kernel account + function validCaller(address _caller, bytes calldata) external view override returns (bool) { + return ecdsaValidatorStorage[msg.sender].owner == _caller; + } + + /* -------------------------------------------------------------------------- */ + /* Public view methods */ + /* -------------------------------------------------------------------------- */ + + /// @dev Get the owner of a given `kernel` + function getOwner(address _kernel) public view returns (address) { + return ecdsaValidatorStorage[_kernel].owner; + } +} diff --git a/test/foundry/validator/KernelECDSATyped.t.sol b/test/foundry/validator/KernelECDSATyped.t.sol new file mode 100644 index 00000000..cfe3eca5 --- /dev/null +++ b/test/foundry/validator/KernelECDSATyped.t.sol @@ -0,0 +1,156 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {IEntryPoint} from "I4337/interfaces/IEntryPoint.sol"; +import "src/Kernel.sol"; +import "src/validator/ECDSATypedValidator.sol"; +// test artifacts +// test utils +import "forge-std/Test.sol"; +import {ERC4337Utils} from "../utils/ERC4337Utils.sol"; +import {KernelTestBase} from "../KernelTestBase.sol"; +import {TestExecutor} from "../mock/TestExecutor.sol"; +import {TestValidator} from "../mock/TestValidator.sol"; +import {IKernel} from "src/interfaces/IKernel.sol"; + +using ERC4337Utils for IEntryPoint; + +/// @author @KONFeature +/// @title KernelECDSATypedTest +/// @notice Unit test on the Kernel ECDSA typed validator +contract KernelECDSATypedTest is KernelTestBase { + ECDSATypedValidator private ecdsaTypedValidator; + + function setUp() public virtual { + _initialize(); + ecdsaTypedValidator = new ECDSATypedValidator(); + defaultValidator = ecdsaTypedValidator; + _setAddress(); + _setExecutionDetail(); + } + + function test_ignore() external {} + + function _setExecutionDetail() internal virtual override { + executionDetail.executor = address(new TestExecutor()); + executionSig = TestExecutor.doNothing.selector; + executionDetail.validator = new TestValidator(); + } + + function getEnableData() internal view virtual override returns (bytes memory) { + return ""; + } + + function getValidatorSignature(UserOperation memory) internal view virtual override returns (bytes memory) { + return ""; + } + + function getOwners() internal view override returns (address[] memory) { + address[] memory owners = new address[](1); + owners[0] = owner; + return owners; + } + + function getInitializeData() internal view override returns (bytes memory) { + return abi.encodeWithSelector(KernelStorage.initialize.selector, defaultValidator, abi.encodePacked(owner)); + } + + function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { + return abi.encodePacked(bytes4(0x00000000), _generateUserOpSignature(entryPoint, op, ownerKey)); + } + + function getWrongSignature(UserOperation memory op) internal view override returns (bytes memory) { + return abi.encodePacked(bytes4(0x00000000), _generateUserOpSignature(entryPoint, op, ownerKey + 1)); + } + + function signHash(bytes32 _hash) internal view override returns (bytes memory) { + return _generateHashSignature(_hash, owner, address(kernel), ownerKey); + } + + function getWrongSignature(bytes32 _hash) internal view override returns (bytes memory) { + return _generateHashSignature(_hash, owner, address(kernel), ownerKey + 1); + } + + function test_default_validator_enable() external override { + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(defaultValidator), + 0, + abi.encodeWithSelector(ECDSATypedValidator.enable.selector, abi.encodePacked(address(0xdeadbeef))), + Operation.Call + ) + ); + performUserOperationWithSig(op); + address owner = ecdsaTypedValidator.getOwner(address(kernel)); + assertEq(owner, address(0xdeadbeef), "owner should be 0xdeadbeef"); + } + + function test_default_validator_disable() external override { + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(defaultValidator), + 0, + abi.encodeWithSelector(ECDSATypedValidator.disable.selector, ""), + Operation.Call + ) + ); + performUserOperationWithSig(op); + address owner = ecdsaTypedValidator.getOwner(address(kernel)); + assertEq(owner, address(0), "owner should be 0"); + } + + /* -------------------------------------------------------------------------- */ + /* Helper methods */ + /* -------------------------------------------------------------------------- */ + + /// @notice The type hash used for kernel user op validation + bytes32 constant USER_OP_TYPEHASH = keccak256("AllowUserOp(address owner,address kernelWallet,bytes32 userOpHash)"); + + /// @dev Generate the signature for a user op + function _generateUserOpSignature(IEntryPoint _entryPoint, UserOperation memory _op, uint256 _privateKey) + internal + view + returns (bytes memory) + { + // Get the kernel private key owner address + address owner = vm.addr(_privateKey); + + // Get the user op hash + bytes32 userOpHash = _entryPoint.getUserOpHash(_op); + + // Get the validator domain separator + bytes32 domainSeparator = ecdsaTypedValidator.getDomainSeperator(); + bytes32 typedMsgHash = keccak256( + abi.encodePacked( + "\x19\x01", domainSeparator, keccak256(abi.encode(USER_OP_TYPEHASH, owner, _op.sender, userOpHash)) + ) + ); + (uint8 v, bytes32 r, bytes32 s) = vm.sign(_privateKey, typedMsgHash); + return abi.encodePacked(r, s, v); + } + + /// @notice The type hash used for kernel signature validation + bytes32 constant SIGNATURE_TYPEHASH = keccak256("KernelSignature(address owner,address kernelWallet,bytes32 hash)"); + + /// @dev Generate the signature for a given hash for a kernel account + function _generateHashSignature(bytes32 _hash, address _owner, address _kernel, uint256 _privateKey) + internal + view + returns (bytes memory) + { + // Get the kernel private key owner address + address owner = vm.addr(_privateKey); + + // Get the validator domain separator + bytes32 domainSeparator = ecdsaTypedValidator.getDomainSeperator(); + bytes32 typedMsgHash = keccak256( + abi.encodePacked( + "\x19\x01", domainSeparator, keccak256(abi.encode(SIGNATURE_TYPEHASH, _owner, _kernel, _hash)) + ) + ); + (uint8 v, bytes32 r, bytes32 s) = vm.sign(_privateKey, typedMsgHash); + return abi.encodePacked(r, s, v); + } +} From 02bdc6fa5e1b3ee8eabf2b9bb315dade62eae640 Mon Sep 17 00:00:00 2001 From: taek Date: Wed, 13 Dec 2023 17:59:01 +0900 Subject: [PATCH 12/51] Fix/conflict master (#57) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Dev (#47) * Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43) * Added 1271 wrapper * Update kernel version to 0.2.3 * use kernel name and version from constants in tests * added delegatecall support (#44) * session key validator fixed for batch scenario * test: fuzz testing for batched options include array * fix: warning removed, forge fmt (#46) --------- Co-authored-by: David Eiber * Update recovery audit report * Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43) * Added 1271 wrapper * Update kernel version to 0.2.3 * use kernel name and version from constants in tests * added delegatecall support (#44) * session key validator fixed for batch scenario * test: fuzz testing for batched options include array * fix: warning removed, forge fmt (#46) * Documentation & minor gas optimisation during userOpExecution (#50) * Add storage slot documentation & run coverage * Gas improvment on disabled mode check during execution Between 1 to 22% gas saved during userOp execution * Missing funds check gas improvments * Adding a bit of comments * Add p256 validator (#48) * Dev (#47) * Added new ERC1271 signature verification logic in Kernel v0.2.3 (#43) * Added 1271 wrapper * Update kernel version to 0.2.3 * use kernel name and version from constants in tests * added delegatecall support (#44) * session key validator fixed for batch scenario * test: fuzz testing for batched options include array * fix: warning removed, forge fmt (#46) --------- Co-authored-by: David Eiber * Initial commit * Update P256Validator.t.sol * forge install: FreshCryptoLib * Refactor with helper functions * Add P256Validator, tests, deps * Remove py scripts used for initial testing * Update foundry.toml * update deps * add non-malleable signatures --------- Co-authored-by: taek * deterministic deploy (#51) * ⚡️ Optimise gas usage when enabling p256 validator, add a few comments (#52) * ⚡️ Optimise gas usage when enabling p256 validator, add a few comments - Reducing the number of indexed variable inside a log highly decrease his gas usage, in the p256 validator, we only matter about the kernel account as index (it's 375 gas per topic, so per indexed props, so reducing the index on both key reduce the enabling gas cost by 375 * 4 -> 1500 gas) - Add a few reflexion todo comment, do you rly need to send the previous key in the event? Since it's cost with a `sload`& also in the event itself * ⚡️ Remove the oldKeys for the event signature * ⚡️ Only compare to raw msg signing instead of eth signed message for p256 * Fix/audit recovery (#53) * added threshold check to make sure threshold is not zero * added userOp.sender on callDataAndNonceHash * added userOp.sender on callDataAndNonceHash * added check if guardian is msg.sender * fmt * ZeroDev-RW-2 : using live weights * ZeroDev-RW-4 and ZeroDev-RW-2 fix * fmt * rebase master --------- Co-authored-by: David Eiber Co-authored-by: Derek Chiang Co-authored-by: Quentin Nivelais --- audits/kalos_recovery_v1.pdf | Bin 0 -> 1752622 bytes test/foundry/validator/P256Validator.t.sol | 3 ++- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 audits/kalos_recovery_v1.pdf diff --git a/audits/kalos_recovery_v1.pdf b/audits/kalos_recovery_v1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9cd7330af96643a1e0a40d188e60dae712c570b2 GIT binary patch literal 1752622 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

oG9slvQb$u-G69h_DzUU4y`o6GWcZ~HF_i?0 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

@q@ixIIoH$%w6BKF0feQs!f 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

rR+z)j5`uKJUU-Xni6Oy-5EwAm`&5e#7wU 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ℑ(k=BDI~ zUPO8es>>ixY%Fb{=Vk>Na%fke4)PnQl`OrkI8sQ9Y_Bvu=Vt5T!|znfYg=b0NF>{?_ruxnbWT5-j_nSxfs*>COml(Q(lpB&XsD=;a+a$@2fRSUwwPb`(|d-d2xdC`Sx;-r}KI^<^#QBQNZwcPTA*4o_e$wl^Y+WY3Smdf6|9apl&yhiFCGaHzPlPav! z%wD`-9diOGP7iQr(?K$LY%1@m$d%>jk3(aj7-+po3BZnB(1fz**E5B15r^GtA;&C9 zEV9n0VEqJ2j9WkAS1R^G8-CeD`nNQIYgw+uy>5@quz69qFPGTGt&1^A72idY3T3-%6`UG%Dn#D}ZmZ#61hzy7l4qYXE$Ebf#5GYqS`UL8vh z9;dQ=k8QZw6qal|`@OT~8mCOF?XoMYFusI^O_jlzKc>ybXV$leuTZ_}s(+kun`A~* zQl>+Us1PgkyxhXEEtjEka$DeVEcx0^))fL@zp~dtPQxlGn_|{7CwQds^+<6>tTNdc zvy2uR-m2iS#~?EMJhzXF`&-zN$BJ)ug2~kou4m4@8)H_W#dw;PEj7G@sdR)GEPw_Z z-Z&&I1X{yEHiT%g*m<9Ul)*gV$sqc{^P|6wH0KYVfbC_|$r13WeD!c*dV~DNMPuHQ znP<23F1U3*ms0$Eh0 zhiiu2?jugX$aR*I#7|{?^k4Ud; zcvwP?Df&X!T{=d=dCf0ur#kHC=!G*3j?6VV|tQMe%EGZ0b8j{lkX#mt~cWP9ErjRGiAE_WKrz z)7T*7m?{M#C~`3Ywduw;r*Zj~_iwExf3q?tfBbo~so-}J^c0F6`ZOB_QEj&=?A?31;h-@7S=>@tGy@ zVfUV=$R!~CbMiF2WmMDN9^^INb?TwyepI2x3cpp4RwIOYg^4U=7b~8|kj`h5v!p~- zMtyeQxNAhQV5fvh;}a3|QfLT+~t5nBEO zq_B$mV0OOwV9Z*$N!2gcMF#kN76jN64~|O~n)LpywJGRoH=41UagzrMi1k3;GPPc| z4a8Djy6w$y|L$vXjTvG8Rdu_y?suW90N28$Q`RG&-RkPdZaALXSSrnyljicDaMhG; zHwfxi3~u+iCtOOi z;OaiB4&kkpr$I)ZZ&Dlw5|TU9!3j>1QkU~$tFBK8`>sRvLl{FuY+ z?KN5RN4 z%8o7RmH8b64!!RnzJ6DMg^3a-N(t2N5I%cMh$0;Q+O(!=XlXKVsF**?1(VAUmwR-V zOJITSsOMLOkYBuuKpZjh^Pj^oi zqS4S|DJc;`h`7FPF`Kbr`Gh)|^DW)e+=!v3kNGbaH2v~Kyq*&|hvF}z>l|hhOViXh zdxeGutrI?n-1_x7Xta4&_^iF)q^8@^aKHCKW9oQ0n{KkCp-hJ^(qZz*Rub%)+t^~p ze7?s!N++q9DpTL_67Lbm!mDx|2_1I^RE}*ECLo08tc)rt{c}rm*V?0srUThz5mXc+vpeTbOdZI-ZY$2Xc-lMgzFLB^a#foYaD9C?)Fmo zb+NQ)DE)#_==>~tr`BsF`sXyP-3;!&{h1|4AKtfLzU75GBX3IWF0BlL8WZbPESZ_P zVukxNGuueG7?RSj66#2U3HLiC&7j~e86m#@PJ*3*MR0QSOA3~PI+%%hcSh`Fw7A~c zvIv+2U;SwZA-`587g8~2F5!LWS=Yi99c% zXvtdA9Wy7b`*t#Bz|V&p+>If4>7(Q_O1N$)=12c^2o0MddmAHcRWWe_QpuSpdC$p$ z<#XJ7+b+&L-Z(^waGEqo4#J4a#bGu_as^1Pe`r@9?y zaYJYlW)z(izS$8LTxjm_w@2T zHPO4*JYDuhxVh}KI3#vBcpYNqf7rb^VixR7x*6f~3vvn!L$`JyWB4cjc^Iab71^=; z7jyrUAgMG%^uMsjm>B={kotec9%Etx?6H4$iwC%VU;$tOV1a*^1^!!m>^~1fz#aqa zF~A-J>@mO|1MD%t9s}$#z#aqaF~A-J>@mO|1MIN|Ytd$gJEk~LC|O2lMr zm0j{jaB}4#t}on>6pSZgJh?N<)Ovk?=IjOk22U{{#c z%fp#(H?N#w@#Lbbc0sfJ$IG}On9vO;UuHCJT4oqkA~d)Ysf@DybOKYeBL3qQo&NcE z$w^Kok4ofl{N6dYy6j^MsLMMl&Egf;-OV@0rnVRj{)`=V2=Uz7+{Y9_84G~0rnVRj{)`=V2=Uz7+{Y9_84G~ z0rnVRj{)`=V2=Uz*#B*hF){xu>-s<0V=PQeZ2z}Cre$l?g6#8DGh>89sO|8*6GYJO zLH9N(v>9@4nQ#)4E}>CYIgh_b_+*4Dg{5EkRl=&q74;muU~t@yt+j9kw|Q#jh}Nm8as?l<7AGdvnSgT)#NV)aswk7ULR1%^sxc z2+3RYhM=d`8J`~WP=tcaT=IxPwUJVfb3-LeMW%XNHb^`06(ME>zNf{HgZ_xx7LrNl z=9=yU)fy+=<9QSHK|xQL(kT(2@4L(6z~z zOp4U~G?zFC&M{jtO9Ees-j{P}C<+u)@sagS1(`u)WvGS`+YV~=l#yTOLeMKjEfPx+ zbFQBJ!Z6=oK+MvLUHEfr?$8?Gg&7xd$ZBUy#b1{W9GRA+h&C0AO_+NBm}RX?z;v7`nhj+E{kKQ&dH;U)el!#1WnC$)(7#A2lnjoR=*DGY!ZDj> zdp#8n5f%=49lyI+5>AV@THTmN9M^2c(Y%`H^lkPPxp&tOJwnO#HE2yOVZ^n&GP8?K zp2HS^KxUsTeDmL6cUyf<_^lrIr^Tle8xC}YxLB&TOv3XpQ4kgXF-D!Frg`ndOXf)@ zm`hBvyOtInpHPb%Vm=Qo_Vqj6Y#<_onKg>+l~8wlP;A8Ppbff1*VxV4N5N$0hseT< zB<~3JWJ&J>1Vt4FKF+QtZ#CCiSyahnuC5hNC5k*w7B+E;!Zk!dFKK^4LBRJmJ^v+A z@~&m`k_0`I+@YN!rRHM_L0EoFBN$GIedBYSEvINE zU^Uk|aW#fa6*wGgh_;~Wi-$0S24RXZQBH&-tf%?jw!A>26kHq)cjW}X60gM|q!Xw| z{JhAh5w)|EFEetWr5A2R`+++ns`mA~OZbnGKN|x=mRTVr3;3bF@qRl@dS|@2oO9jkF3v{^GmC<6vNv?JN0m6KUO3}e3d&9_wnCGi?nq&vvXwac zRqWB<#?!~UX&rui&yAKUbVZG(go&QZC+hsUO|G{wXw-VL&7y%F>f~;`ZaDB2_ZwQ3 z%|+xG--mc44vL?4*q{>)FTH5@$-sl^k?~XriN1I1x0&$*)B~a?$-frokGah}j3J&} zVM@vRBSPG#YW~~Vsfk^r3HohYPaYy*DR8pprdWJAg~j5@>Re1!JC10HWPW1bDzSMf zwz*@noO0F`dSO_SBlpw5Lo6DxZWE{tkJsW7siP2d zEMg9%FOl|wdp52RiGr+{dO-wVAB~c@h5|C{I0sn&UaOQh5cOtF9pytbsh$X+B%K9yAVUoC69R=M#2wJg|ytVH(Syf^gH z#GHmxg;>!n=+@I~6Eb%jXBZ&PGPa(db-60gQ7_qny-8Xgp+0L_XY0pAKO(0S9R6w< zhj&?lx6*c5FSu{`k;sD55J@HNxe^)T9poy5Np8%V>li(W#eVl?HXr@8eFSneDn7p*SI;j>`Q%PWJrK#ZZ(nyIIW;)5kP-@)(e zvKUWR%vKX)bEvx%VAv8}O^;VW9+-#r`xr7NLT?+EX%+!W})%Hl#kiLo|w%wt) zvH!i^(Eb4}geI%K&+pi_vr}uG2w{zg#CXFDLy+!`r7Axa;_vY;A7klbgVCV2khemi zy3od7yY)2h)u{35qQ)sFV0YT7S|*xO_%qy>rdjuVceJ2VLz6Vkm3;S2eJ68#oV)lT z%(i{b#eVmfp9g1$)tVdTDH^%cQ4VRZQ0G+X=~kSW@H*%!+9TDCq{F(YzDZCz!+W*o zBmrMMWUmOtqrb&D*5+iaxqsCOGdeMF}V7 zN1FT@uI5CDGoGSzhQg*M9+Y0Co{aJJ@}7~Vn00(!#BKy8(LY%&cCw67hOho$v9CpW zYcq0pAa=AtwG@W?bs5Cofb5Xj?R@|>Z+m*10;NudeR}L=7az2wJtmNLYxpbd(dbIh z%q2BTR(71|*(jeDWVer+N&~ucMY74n3~6%agX1dFakV+=`G}xGu+X@uq(iDBn_ds* zFI?$-KC_hBTOZx&B*}feA^4Q{lbE0Ltiel_B%{l7r=|#hY~FNQSTwf0CKa}JVScCv z4{QI0(?ff=CU6sa^iM%%P*xo&#NxU$9Ag~TtfSCx^g8MHm!sn9g~^>&Ai$P_mCT4u zDk9xt)RPTdgZpcugFn5kaN2_?21YTRUb0)60+|KlXRf`G;)4J5Orqm zOKb_7`|uC}hd1W=3VCW@Hc8#dZ8^Sh6o_AMJX3uc<6wlv_ ztaxxsPAXESY2S`%IVTORN$^3vOyc~aaW4K15Q1(d=8%`d^Dgju0C4DTBCt=})8>9_83GU3y) ziemwgA7vNA9CcpezXZwNNZS5+yUg5f7fq*@NmsS$N3AZ+vVC{Mu<+vg-(PjyKFCzSE(;>$9y%&cQz)3M4vA70G$&TChDf zLi^?4)QeOlu(;{zGmi0#WId1pY@=vf;rC?n?l)&dMWpmcglOb@SijR1YE;XkMRx52 zM(*yO;~x#kjfFSi!RRS;0@3seHGLr=Cdb=^S^Xj@W`%3DeAY-C!9*`-6@<$1T;ol%Rb!=Bfp z{h#1FjT%vE_7B}6JWTkoKDV4N4td)ub8KxHi_ATq6nm5%5+jLk&db-PzEtDc@GNgb zKK&;7-P=36p}fS<$RPa&dZhsp^*f>^$w+JLZTp2Z`Q3<)EBrh^>Zj*PBDeEcJTorR z@D2FYL}E-_5Wy@FPT32V?7YIJrjmufk{@X7g==h?WNNLQGG^>P2fdwl=JRdLe{!V(NkJG{i zU1|9%gy}FULg|lMXrIgOG)QvfR8CUgU1h#IglL)0o={X%gG&gV*$KSb#55mzDjKNq zrsb3*Qm%jr-V4&=k-m$+ssfk3n`5H!q{NtbNt#zUZeZPf^c3}GcjM6#85ecGS4;V~ z-c2%8ywk8-mHU1OP=?csSD=h75 zJ1Z<3&US8e^P7*wY8no+Qv@U7Z)?fyS z%ysZpzL!yv>U#9r&HI@DJe_7jA&BNbwV$_8LZs8U&L{fpzHgKBq6T+EM1`*m$lt^E z1cpJm`6;438(FL6xxy#^j|~(?it2!I+fz5iI!Br3oxtcIkab+(4+Zfzt&H@U!{Qkb zYDNH|1`ujO0HFpDYGeSR1`uihp#~6Y0HFpDY5<`I5NZIS1`uihp#~6Y0HFpDY5<`I z5NZIS1`uihp#~6Y0HFpDY5<`I5NZIS1`uihp#~6Y0HFpDY5<`I5NZIS1`uihp#~6Y z_5q;=5NZIS1`uihp#~6Y0HFpDY5<`I5NZIS1`uihp#~6Y0HFpDY5<`I5NZIS1`uih zq2~V)YS{l3n){!G8a4(-j{jSz(TP20bMVg9n~fa>Ezzjj#n8t*PH$_Fcb9ks&0G#P zqDQI99#{o=d7+Y0k={5(k+yW6c5@xdX?tQ5r><9bK1I_g*w%mPvGwyMbqFQ!@p-+X zK=pn)xu)=i4!zy#dHJ1!zH^=oo*4d=139)bnHF}qM(Zhz@whK{0 z7$r`x#gC$<1t8aoQ5#k7ZEf%^ZOg{=hO&~&;M&bFqT8mNI_Tq;s>TS9ViD)z}iY#a*WB}H|VV&_0)YOM=cR!{<%cpqco{ zS*dau&e(8Pg=JN19$@6SQf*-R2*2MtqzAUl$I+boGc^-ccHy9_+0?Z1Q5tB5EJqVWo0iCU0 z%u-6mV;l0Y2O^}fX~@yCaYLu&A5)+b-3>`#y;0=%ekbW9CiKM0CgS^iF z$KE|e2Ns13+OD|bRBWqaqoRs!+qNsJSQXp0ZQHhO+sS{sC-=X-x_j26d*)}Iwe~yM zd+l$qA1ID+<4=o&+nD9_ltx;5)Mg~OfL`2lU!rx!PMIdshS62_i1t@`xzy6FjlV#f%& zV?13udKrdv;_pk|T%JSBkB=WaXWrasBR}n?x7+UFk=lajbl$kb%h-423lH7==qh#1oQFm|V zCP}N^BNxSO`;tY+W%R%3BZbiP=ZT!yi>w?UpjTo4RX;sID5ONt z9i+fZe?uJ|Qg0-%hdF7n=5-hclN|4v5p4FJb~OLiB9%-dbxoYrOXO~{nD4`fHR`E! z!X2Nm8*k5l)I{v<0wGs?wdR~Lzp{4%6?w?J0p8~FYbQ?pkWe(lm}rg&G3c#-pFTCc z$5-q?W*qx_SaB;t>-a%yI%Ry-AAPhfJDso;<$b8fL(VXROmzKe;VYqjyXayod#zs` zwBTEZ45gqtQ-}PqI^Sj!A>4)OtGkSulA}2=wNee3qzZdXo6`}4NGAyhqZHLHDC`9Y ztgrJi<2vdsmh?wTI01BTCd&lwJARKqK{BQmx^ zoXM!j;@dW^gR9d2^&6Ia5v_lviH?Cln9FrMF zve6g;92)=ciH$MtOitBw)|nL^qJ7;f%JTI%L26i9LEO-GsRzk*xe9&qq_}W;LZ2rq z3S;Dp=Y7;Uy9Udi{CKV-6<(8^>1$W0O;bsg88;)2OS8SwGKphYE;1}@W|SV$oT6Ns zw$iw<5`ActE$s_vpzbosZp4%nA(9`swH@(1O;XPvKkY~pPff1X7hPIF1U-x}sQ=ad zC1;Wn5`dBXh>y3cN#@9+wOl#y@+oM`V(<|ZkU^nUk~}-2(sVG7R&M3FFq_G@O9uDh#gO&g&D=cnkyXQ zvdn-sq!e!2OZV#BhfoFg!op-C$EdAtHq(}w54-gnbaFc>-#8;*;)= zBLx+{Ngcf_#UNjgEs|<<9RDUJKsILa*`gSu3$Qmwm!mmcm9t4Caw8c#KRya?*2#=-^3*>{%7C4&%S*8zWFbvK;!svSZH zTLHJtaPk5I?>oltH8j-CNEkt$Ur0t<*d1__0sF7ii?3>7HlkF{3x9jSg_G3@BK9@C zN>t_csdr%%F0|YdOUfv8GA_%b3N;0Dl5I!9sL4WO&IQ5hntI}uFCe^^ebS_ZDIrV` zYR=*W@0kag&(vzODx60@hKw*1XBEC&Wkp8~Rc8#fx}`Z4*mp0{*a&4>F;5yRGie-m zPx9WLj{4^{2p|PhI=JW2IRN!Gr ziki58ugMBf_|~7dF>>V_?XdeR?EO=ufS`B51t@NQ3X)fu(5^p!Nf9y5{ zR@{@l2V>M&8t z+=`dS5~N_Z;}7iGND|W>nFvN*8XfZ;gBpYIm=>ktR5%^)Zs+$5OxYE47n9>*$r4=p zI0arDuAa;u2fVZJf}(lXy<5Q+5?lcXKIV$ZeMPpiGzfk|HH1Q6>1?tpxJAW1OZFEFEEHzc85bt!7Z~*0*YHpC9y4MMSYGu!HIfVlKioiKY`8s=>~h8j%*eNAL`K(7>U8-d4h zD0Ayk(Dabv*VFRM??FSU&6VHN#(8%O1_YZ6lXAAyECHb(=LX#TM;RA>#rd6dq8Uf+ z%GOfyaA)z#7Bz7}?O=0D3RR0p-d$$7(Q-v--&;EDZOHYwk}GX8shI z?C%?T*O0Fsd?#xDQawKMXN`7CoeqXO4K(m(AOMf6$1|Wf`p$vMc^0NdXZ; z$$-7kTQGWmGhZ91G?}JG7q}|3V$GHDfde5SK?lWyTm2MDdkJpa*Rw51Hxmbm4cV9a zp092u<6PTy@6GokCv_Tki>z;U_i&};JgfPqd)37aiol1fw%Rdyn~r0^M>R`~zDxG- z3D+5Q;^8BS>FL4~&kbC+*=&bRdEersd52e5O&OMhsKi}Ab`WmJ4tnHLd2t}efsu{! zsxy8=_*Bk$rt^?*h7#YKT`0Ci6I5o_6D*DeZ>#CLoWDB;dokn`jDn!aaS3Cbdva%| z_)6FcvyBncNQ}Xa5+3{HX4%cPS5g${+;?&hrJco3jt)P&D~UTr9{RV89F3`4Svh!= zAo(+te*x&Cc;`4GQRGvyA5vC&csg$)Gm8txSMY9=AQfu6DHNU>HnbaZx_AU*`*#B z#T4tEJ_{Q~uabH7W{jns^EdCK61woT$Ij;G8F;dKj-}HqPmOm)tr$x!oyc#V7YP+2 zA+8%yLAe=%jxl=M)?K;=zW^rsRZ_e)3rJ`wX-%Wfk&{^F?$%&U-^Dv0(?A^ECb7;VKW!Fdk#X^_Rq(#fV;AF=BZY`OSjqoE@|8G4_xoUj}ZR=N?Ou$Ew5{(6PKO7WmWI z`=dR?;2y0JpKgK1xH_BVSF%!kC&HdA`+m%GH-f-ZMJF4AJ%oc;Z1rjvR9Sa zW)eWmNJK8kw$&5F&J)0p;A-RuL^{CeG^IVBBxc#X;Mk8ninF&_H#BW1d0+cIhT})9 z4UW?d{`0!N;Yj_R86j2R`CFzn zs~7&-t=oGyWc@Su-|oxi=6s!%jTZ8!yJwIbD%U?^b?Ti}bOY}5_FzO%G71tEa zW(vdAYx<9`m^V2xT66&uvS9DmQkxZ;Lhk*xg~_krFaAPYAByi!e{yxSk2;S~9^6&j zj%Kx3;kFd$vIQ{5$%{gwpfLH=crP*+A#EMtQfHgrU1aTMY%zJS+?9gx|6TSNE{Gpz za;tQ3x!IDJZ6TT+bW@*FvHmP_^n@;MiDE(z6;>n;^ZWH`q?tEKR zGPoIO)~0G~2sg;|qRMfICl>UI2ErxqL)~;(G*EdR>z@iYI(Kw<18WPm-;a5R|g%sgz(RQ@OULZTNzubn$B*RRC72wCx*o(GQ{MhT=jzU_qVoxxtbzkij0 zw?8m=uroU%LvG{FEl(TT9mbHPRST$oHjL_RWwT&$!tYh<`R*9E=Mq49X#a~jwAIRd zDn+N$lJ_X>HN4c>;@+fMf&|TsWH>=vfb8VsLi~9yVG&)iFPZSe0i$ky zd}2v8oWE6hLpx0~cU^m=vR`uqg)FuB*n+-~qn6^(%Mc6(K0$zZFFNXH|KohGeC!Sx zR<27?VsatV?!L<3+y_F>Pa4n6D(}CA>Z8^mwQK>I|1d%*iJ#0bwn?E)MHo6_FnB3; z?((i*M%ClEQUhRf^NDvr<%Jc?qPEerV-M9^<485q!AI%`S4dQH-U0xA^6f zpHL69QnhY~S;gY0ppt&V+Hr(7DUwQ0PAMx83&?%@iEp`&@bWIhlo-0lC9$VC(|q#m z^!r!BPEd3vo-xLtW=qdHhpE_N1eN_qg@Jza_}@WlyXwq+T4X63)^2celWi1??j8uA z8Xn)(Ka~YwBzuS8dFeO1k4EcKmGIzEu<4q)`AlgFDOXrn7;gDhy@Dp*E-;l;{{CWY zr0xb#lH#HN+`{iZRgC|TmvYoRGqdm-emC&1pdtdlS0Tyk5h#UU0rO|VAs_U-PO)_i zS)p=8c17>Wx$~e~-SB$)sg;>s z=0|cdG0t|12NT*6?utw?N9$=Oojrj)3x2;ZIm+uUeo;`;>b8MNNSf9TRB+>@3GT;Y z$NY-VwpNK27b~1ZR7zWdh@&G|d;%^u#k2pB@N6tE@`8UGsaN;3s?d}S^NubhYltd% z2?&eVLjfwPXBN12RvVH2&M_>TboX<>_nsgQkbaAU{yKO%@(HV~_cU6pI$f^skTdbs zO|fPE963pX^-FqwGZYHFhj|c2>9D}ZRlu8x-Ii)^(Vqq5j!%Ig45byz`Cg3(skUYGr=SCLPI#lE1gn2 ztoL&ZPChN(`4>~}W7C($qovMQUEJH(zd`8c|DDjr`Jbcw|0hBlGXo&B{dX6Ofb|0f zfC4~)|1Jgok3!r3JPZM$4G`J@p$!n)0HF;K+5n*q5ZVBt4G`J@p$!n)0HF;K+5n*q z5Zd6DhlI$8a#_}4Eq$Hb1rY=Pr#;6@JP!3Ru-*(#p3M)P{-Tt&qZ9zEFGR9E*AixV zhW2wC_9iEvT#*mIX#+2kXwZ_KYpBWY*SY5gj;o@TPVmhi_pqiX?!hoT%@fxr*y<=T z=H27@fdxNXFe52P;#iHdqi#q=C*0FaEAT;N-N{&=k$G8@Jwy;}@btdpG^}0Mq3@lc z!PYVq5L}@g6u0s1-u<)<9fuL+;D=C#nP3vWlYr0`2?%X~(8dc0ZGg}Q3kYq1&;|%? zfY1gAZGg}Q2yKAS1_*6{&;|%?fY1gAZGg}Q2yKAS1_*6{&;|%?fY1gAZGg}Q2yKAS z1_*6{&;|%?fY1gAZGg}Q2yKAS1_*6{&;|%?fY2ri2yKAS1_*6{&;|%?fY1gAZGg}Q z2yKAS1_*6{&;|%?fY1gAZGg}Q2yKAS1_*6{(Dq-2HfF~EeAe~y$gpCSL3^yo%QCwhzyJRI$IO$uIIdK)vZhdf zYe57p$VxEa?)gB-b&>nmE9PF4XxZy&ZlcRZ;P9hpDC<>!wV{g7tAXqNb_|idsilJCM4E>cB20qnM$VUmYe)m6Ty;EpKJt_!^t|x4N z(n*qzrUQc*IImjK4Wd#%untLRERqA8qhZ|NdijpqrS;*jVp(*oc1Bp)u#{Zr`>j6u z642R3C14q<2_dmcl&=}48#6hRj8qdj*Rk-*oeL?5)xSW4<4dOgy?z%Rml}I3Oiq}| zq0>v$0%L?9Pg63U$Ih9ej&(vWoxJ^hgbMZ(?5PPQS7J^1#j0b%TZ60@b6;qTa@9a9xcZbx8wYD@>f>;SnnC7phwzofVk%_SMyhgf0%IqenY;J~rz6Axim3#cCA`;^n*Q zYCC1VZu{yA;G zih=}HksbC^$4aPMH`uc!Y)b=WWaW5W(AF?d=IscT5ejN2Rb>pXV}h1csY<2dOa24v zBEM}LZbhp(jK82ePuOJ74;HG!Fp_snE#%D^kB*rX&$d#CPp$SDpHoStmI)ax5B(>| z`nT>XZ$v=Icz&+fwgSTGQEo?W-YqwsPk)NJ45T~Y?1?R*bat+PT*nN{sDCR!kL zL_4~rs1P-mNb#}vR$l*SQNqi60kgNffsayf>b;2*n^$L-9*$yIvilG&$qTheG1Y2x zTpyqFDOUlH%1NX+K{+j(_V9-Sb*_aBKGTK8Q!&mvzH0cuSf#dkUXi>=+TZ|qjk4`C^t^Gmb%gOo55UxhHO!P*XJ+=LWzXBy;Dxpo2BbFrZx69i>4&s}2&o5c#YoRr99_EeuF z!*3*Csu8K>s8t?WHQTE4Qbk1Q^bB=8V-RH*(DT7;c2m}FO(iv#bg=M;8H zTr6#mmZ~%t9@)*6K{h1RvvrJX*=vG?JlA(+y(k4Ga|e0TZ^<&*6Y8bRR+xp2>|$}w z`gdz7qPmm)uU>zytO8ddYg5A9rs{^xA0>HyzpKfaT6v*1N}q*d!60-~ z9ZV?yNo)K}?bt_D+zJ`xDBw$3kV{WdnpeE3{b?BoyADGhFWYX{Y`!2ZSWO!Al)d{5 zja=LZ;aaA=`G>sUe`T?=;o;ys@YI$9EIHINWogd|_p_Xfgwtc#i2L1YZcypg#Jcb8 z1bS3rqP-pWLc*s5<3vE=o8SIVP>;;AoSb~5f?Vo^J%+(>y^8LX!pO}^m%5`h4(K_R ziS%5IYHXJ~716Z|^Tt$}f@TVnKJx&3jM;SwF1=-Yq8}O)s^dCtQ>S{QCA?w8I=LN+ z&|#%qL?Slt4-OpprKS8IcsK zpcN&2z>90%Nu;0|GbzrIE47@?rUg+kapX?5c4gH8$9RDm+KTQkGNW}9QL)NVuWw?PzE^$7dSlN7QQb~zFql+w33 zo|h8HFeO{bzPX^09l{nfk5m(%;1cBz%mq*FWohlsdnGo&;zh-^a44d8n8l5RHq|!;h2)*l{5wv*7x!cd&}|aObu&uPmr9b5A?h*lJdBuDDs0DV8JJMH_c}s z*69)OG!1xkGHYID402KPk;-c@I@Ve2!OFg64!%u*8HsF6oEBm(ff<$ZyNVZFLqX-P+Tx64N8S|#uQ6nS{C9^pMj37bP#dYy&>I5NI{kiZ7ENh{KciT8=mqZfAh_UJ^E5kSN<6ua|Gp80V(9k(_*6 zT0RJxQFFa{H6)ryf3Y1Ur#F()UMHhT@ZPfTb4j$J(hxHMA=|gU0K59D$Tb0-vj!&v zyNk%J=RG%UL++o50JZWBCy-Md+l%(5X-Tgz6tX&!TJ*UGL@w#mEt68XdJ zi?MWvzmPRpaeh6q>WqYTrm?-Y3laCQK=x}n4*vDOs0`mKXT$Ynj;T=xt35cuiX*3{ zOU3W9%GLC(!KYS>Fw zm&zQ?DN?$4ILpALRwu#Dy|I(9hGXoKU@A)}-qmw?x_CNj6}{6FA<+UQIFF^tv)m2E zqh9XuYq{gPqBSbYP|CbkxEqx@%!gc39a%5UI}Vyw6N5|sDqT6W=1)>b)isL;bbqlL zYvYqIXP%2hdewB-o-rrAO~@|^2V1PwTGU*}sYP@$?GH=HG;ooP&-s7g&TlQJtE%ZFQO={lZ&h>9LoHH)DQ4OzL#m@LfLP;O{^iZQ7YA3^ut z4v3_{%^`j`zHvc_afY0tXDf~)+C~MbU)(y$F6Qhs@3c;<-59;^guujp+djX&DPhSi zKycPLsQ0>du_%UK#X6tEJc@jDc1N|q$e7y9{38?Pluk`7nE`DeP}buqP#)w+)cQ+R zMm#0HVAbR4v)MI8Aw5F`Diym_Xyl+CMe#$p4T`Sk9;Ro~h5#eyUd8Y3m{<&2C%Rh; z9PbDwgmFr5K))1;^51w>CP&p(GcVmyb|QUB-=-;{QwQ81UnTk>FGo@~36GE4lAVhh z{!85~uHZ(@)vzt|LQ6WQ*9S7xgLH00_!LW|z*UEx14?nS0XG;!>|`bF#CQ^#KfS~# z1hh_rx#Jz#Wp1Z!XPGjKW+}w%oQr`;SkgdA0+}Fb7_=we+@lKAZAY3e(mTNJ<=9I zt!d6Y+AcfHDOUZ5<#xIGVaRv+_03ZM!{&bjr!X`B=MDS+4V=OPz$yP-zyM&KKmnit zP~g9Nf&Vj{@;?qk08Rnm6aY>E;1mE(0pJt>P66N)08Rnm6aY>E;1mE(0pJt>P66N) z08UX)#$x<5(cS(I(iK%MW&l|_A^%M@uM+oc!-lw)1g@4b!GPq>>9m;-Z!HWG)+o}2ESFAgwvH(xRZMiH#=GGsQ=?1W0u_& zV)f->gw4Z3r(nK#r4i$ECCmo{x%q|fxN@k6DQV^aoH7N#DFB?Z4!|h@oPr9#DFB=T zz$pNn0>CK%oC3fp0GtBADFB=Tz$pNn0>CK%oC3fp0GtBADFB=Tz$pNn0>CK%oC3fp z0GtBADFB=Tz$pNn0>CK%oC3fp0GtBADFB=Tz$pNn5(L000GtBADFB=Tz$pNn0>CK% zoC3fp0GtBADFB=Tz$pNn0>CK%oC3fp0GtBADgO(c!up>N&Hdlt6jl~?=Kl((%tYaK zSbKMM84#p_X3>PA{sbZ5-M+Ls`iW=_mtV!7N-q|ZZ=DMIaVI%x;nKh*X>QWq#7klN zW_7h5f+`%tCxMEFp!4?wXrn}`vamZ!C&ZL zzW1p(-Xp(YBx2mp*SDho_*PhBT2@h<&ODEf-0L>YoA>>o)E;z5OCev7riXv{x5RkD z`OWlSjNUOs`V_((0)b?=EZ`=%2a#XL z8>qjB+Ai5Stfals{N7A0OlNi?PrfjC%C+A6?<%tu8T4h?uZ;= z+E8DHL%%YDif#5a{|C;1L1JZlgz`I|Jo#Dk4S1x&D7(|aY@D=8SZ#Dkrj!_A@dTUp zN`z}59^Z#gwd4CxN=6dBECDZ+Fd;%=RbNt8R&RI(WihH;CKsRA$-RESpXXfbPeKdz zX7Jp;ByYZV%EyyC*XUxMDbpcsrw&nB_MAzSyXA z_OGr}AL4A1uRlFqpU(SA<7$uQ?v-#aqtVOJaxi`UGG53gDs9rD^5@_8>%@uwW{QXC zAqmr)Acx$=r5gqeA5l1Y5<3(Ock09PRTxONqne;kN;N8Q$0AAX8xop@Bq@{nVUUdr z^RcyMMzQ!&e^(Fi%8k)Etdwlx?0x|mw<5bz&ln1=SUL%97MLMn9Vk+rz0WRwxdp){ zt~&eGyPFB&u~O^D#2iS7Z?y3JFIzKfo3GX5dVXxP3lBN68j9-oG2F*`g&j0y6a|(7 z}dst@j;b@o9fBdD)<5i*tn*85Y~|JvBuECoNt0 z4BnrG0Q@=>Td2oaei>!Dw=y0&EZm@ta1v$q{&kwf1R@uWP3KoU0qJ)L#=m}CWr(QH z{ks<&${+AcpWyuDpmHkJ@X8ha zit_nE)~)j~gP+A1RKo^+E-M6XPy8q;p=R8Kg)~yE>YM?`1w+XBLugh@ z;vSYZI%8gA>z>imT!q(^4~Si#Ra>72Lj-)>UzfIDZ)<#BFCSkY7uT|UU++V@xPMAQWQKA}+(3WI{1BHcYp@u8B_Sg*K98UsroQrb(sWsrqV7!IEG=#H-AhF4`cAZh6#CAWwi)*x^fQU=w5 z)KMJ#Gmyb{v@ify#IwdOwCz;~WekF|4;+{JS!cXVgZ-#g{X6=EaUwIz7dFIBKcb_- zy``joYtHFb(V z7Mtl46ppbYYt#%iCa2FS%_-37vK#J`^s_-fqB&iQRm3PF-V}s(C1ErBDUU^t1l*$U zBL-4Q%~_mZ^boil!~-?5-P{Gsx#>Utt<=#}OB-!nB#)S!G-;Fi36a0d+pOawbL(4B z!bwN@JwW1s*)a(q4=07QhfhC%r42fEjrlsg=(y5)cn$KC;AVg~8SLWcTDvG7;v_bv z_`9$L4}ya^Z6+bP8`PNyj}Dq;)F`5>_e1!p!Hi_;C5oiCM-A8PyNvbBww5*A7SO;z zqdD_&9p+cGc&yAM=*@`LjC%x`FlRN|sK+g2J{{_%x-(WM%GDnQ6i~p<6|1E(urf<#cJP;HIq>WagAkrtGys429<1uxg; zICvjJ&Q*xW6g68r{=uP9FM0;*zEv;jZm=D7Zj+y0^@aZ5cv z04e7hfCKhpbDDXJz=AHf&o@=O2!7C5Pw-!*X+mp5J%)l-nq(S|$FLNqEqU!)UZ{Ws z0e`rgC}tW(ZACb@o~U2<_6w#A&U*4AIYM;+J)Oh%4E?Pg-lxoL+}l_WotPm zy(a(V{^Hm0j*$oLAO%UR7yj_T_No$4@J32|SK(J*r=XwLNY=cOqwqu1@P&ql-?@F zUi+BE;cFh&$Vm>8e2E9N)9csK-mq@L)+UntJZUzmi)n+3cH@=TAzE%5NB!NOnS{Dz zq=T)j1lJe5QiM})J_I4ZqJUu^0W zF^;hg0vSnaM&ZgreMki3q;yZSelaUOzSdFQDc^Q*7(7@XP%(9t?;?{PyI2ea6B*L(KvJpetVbZYbjpE*-~h%MXR33 zgGm9)>B`^rxQlUwkPo7}1K0xRuvf3GX2j6p6;YbV~nR$L%d3M^*TZz=&fNBym=`aY-Tkr(e`;l3u zS0vKR9ulgRTDQWC38vxqT&9cXvA#3XBr4hzyILL?=#sdWUAo^us^I9t$%T5w;_iA1&IVX2j# zB2C6^P8Get)Hk<<)yz!20(Kp?6;$r`F5Tv#Ysc*2FKkn!JMy-`4rT<*Gf^t!@u>|x zxFXGDFse!)9(~G_e(WO86A{Vp>eMdd;q?*DO|n5M{*H~|va*p`#3?*mHXmau;+= z$(cZTiK-13fuUh-%^UcgYh#TvUlQnyAvF~x+*Nsz9VLVaOmIIsbg)2E7|yo=Ui`NF z1c)^Qx*E0v&cXT0QPulE8SYLM2ko1FQeCt=k(wYycuA9hdJY{TNK)Yxa#&LtnX^g( zbyNz$iFWw#I+}s!qjHV5Vi#G9z!4tZ8C z@a#m~V=fO*tfj`^!<=z#)NQix?^kdaDQVksyQ;|HdTZ+NwE)FZw(sF_)6`V)SejQr zj-yjMnDJ1jrZ@EP7;eFN-0D8>(}+@p6X+m3<%vhA8Cxl>1$!9%m?yW{Lapj*{63t@6sBUDnle4Wt;XQL_e^{J-qAw-Cv3>pg%eA6j5MLPGx}tq$ zz_&=Jf^!c^llC#^tQ}rb?~3NMcr}6MKM^X4xN_3sU8xAOInc{<+`vPOT@m7jZ78iA zYBQNU&3^7sDzJ{(jC?TJaAapkiw zkkiMEa$0)Jv@OXhttV*znwtCbjlUGycnxubR|i=4St9)6KvMj& zX}z1^z{RNTeAG6dQB}F0wdLBp6WcKoNzcG_!ZJ&@fE3l5F(qsWXgwZ=EyA;&hLz5d zvOmtWZgcA|&6sU3gP;1(WoRINbe#+!rK2jQ6ED_2dx+Bi+JbSc$EBVYk&s9Ta45#}izo6J1 zeEfi}SHly`#}`_VQV7A4^?7o#l<+fm&iS`Gjqt3o8TbyP6vk=BOByeCLL_XqIAyf(P=aJCU7f5)^%jN$L;9~#JN$vj|fQthFxc<9?G{E|S0zd(vz<-wl z|7U>fe;kGYzy$zY0Kf$RTmZlY09*jT1pr(Czy$zY0Kf$RTmZlY09*jT1pr(Czy$zY zcq+ZmZ{S~o4o901lG)3+ZtoN+mpm+2*%m{*b8wA#dXOoQj=RWW#ns^RZ3oP>rVBm{ zR#ozE@4iB^OlUXlg9e&4_*&d~?YYaioOS{M{JgTXGu8ffPT9EXU{nlll@nCIggqr^ zc9eFQCaFy@ZqPO@=R5RT=VGLk38Zqm@@8jV+$UlLALULV4aY=bxzzYrlT(d%23u6U z`&!EA93Gz%RwEM`Yo&ri)E1kSJt9)KOxh<~0Dy}Y0Js2vD-i&=0D!9!0Js2v3jnwP zfC~V)0DubsxB!3)0Js2v3jnwPfC~V)0DubsxB!3)0Js2v3jnwPfC~V)0DubsxB!3) z0Js2v3jnwPfC~V)0DubsxB!3)0Js2v3jnwPfNKB%xB!3)0Js2v3jnwPfC~V)0Dubs zxB!3)0Js2v3jnwPfC~V)0DubsxB!6be*w5S|MQ`_{~N%?#K^+_UjQ!6wMblc1h1>A z;vs1tGocvbpWO@$%r$rQh%0c>?U3qR%fgo!gjrqXnyM{rB?=GY%a%q~;cEqz$j)MT z_!3mdxgRfZ=Sd2uoo_eSXGCK7m6Knq!pEN(GF0YNFpYFpJ%$>s~=9Ydj%d7ejJ`XG?;ue=<7VV zHacLb5Fo)>mpd0Ahx+z3Ag^IW2z+EDu==O?ucCh;8Bu?Buk*aOdHi7RPul47M#P2L zkB?gx91ME4F#GeMxA!*NpjPWOs-{=ZVTXDFiiQWT`|;KP_tHI1#pUTMoSZli)tQBa z9BW(*Q_XOkWesEQWBS`qBy*|JA@uzkVNk<=&8@~(VvN}eq}tdzQLbhoi=kL9R@pa^ zEG*?$*B%5Q1DL-#4hx7*tW?Aw%Li!2VQ0_8nCKygYoJ^a$hxORgHc4u`dKzgd=0o; z3(&<@K_D)@`)`6F7{WBT#v!A4XTIe_81P00Tn0hbk*qD}(7=;uv9Ul%g%1Ud-z}F7 z5`sf4%zz|CjFS9Ak81fIKcJi+*AR;3;9FpuUIDS+Ulzo&kwX)s%E5f%kYgbTPKiYdUIIB%0Tt@LBf?Dj)3@@l zj)3$M?{e7KU5ToO)X&;m3SKjs)bRVn<2VfQrISMit)M@qwsBr3q-D|Zk3H11>oW06 z1n#JDQ(Usao&Z`!JFpGu@_)kkAd(Q&Q+1zGjy1P>MI$X+c(ZQSH@$?0T9%R za}k0`;cL4{f&O;lS|@7}KU_^(W6luz9&}yakJ?Tema5lEJ+}ggV)RKkml&MfI_jN! zP^IXFp1%Y%; zp}8^lKorJQ*Fw_BZ(|EQZY(Fl%?sHQ?Ti{ZhQ31ASSM&F3q&egRwXylHAXm$4}<5U zmWM`t?3PAIXZJ_TwIrTv+1Qb6JT#B-Md6C{B1>`16OQNQHh}VKLSY%57<&J`H|R+^ zyd2gP#(?TpOE_;+-@tIp-i*V6n)H zun2E1-23eF-+Rt^f8ATRUfp`DYR*+ms=H_R=1HSc(4K?k<>$w09tlHIebm(7WUIaxUZQnj?DKS^AH%{zJM(hyNM@-a1W0j0` ziaR=ludJ%#V-(d38N%`=4#Tk?H{loV8VuK2#eym?t_x55&j`}z`*k_k^>}!6HA%of z9;8biyPAlzYo%2OQ|6;;cMDqDO3x~NM<0mk-lN%gR)E0xW#d+}G=rwHcvd+!8h=so zBFPEW1HYbQBX?;R7=S;|SU)wc4K$0;ml;{Dv~Z(pu&bgGqg=8uX&Bn_tJCC&FM zq_T37LmYg*N{%`Ag*6qt;Pi>_MKIWHeB;IYfP2!#xa|R7EI3#3y@V%2Lv7c-TLH@} zoGm>qTKQztyv3NC=NQN|ybCL1{+hwHG2DH)H9|V;Ih|xHH4mcb3sax@tw=5On^Ui#U!ld5i~K5EN}9Nah{jCL=H% zkHA+Lno{O@0m&m^v$AS~t_@pzxwsrpQ!I)uwO$WDUF=U-T--X_s;!V=xXd^cHtYLZ zY$_OXT~o64O!9-$XtY=uk5rX=g8nUbA5#SXA}=E^s*))E#fkKmdweIkR2z}>CuA*6 zR@bhExRBI0c$^zYLS|;75$o7nH@HdDN4Kt9(i@zu(l~+@)QCIfPA@E)egCnhjMrw;(G26TeAwmbw_@7z5+&)piFy z9z4lUMu!6F(W^#6VO%F^#}0We-z$+anK#Y4K$kF~+x zSzemq=b+}!DXa`1Q>g`ChO9(?`=_*mXJk*onl0nnbzFs+a zcN+Kn51#LtGxku=$yKw9$+H`9Tqv(veC5!2SHOmub?1?#LMTejH`lHC{>jl*T}L1A@SO3_5l$WnZ@Sqt5kkxOm#tf(I z)i!QZE{dE0bBnoW1KmGuamS~GBxH_L0{sJQK}>B zF4OC9H++~DoQic~1ec&6hD*@HCFsTB67+BhdMmgDJzRnwE6XloAB zG&p|D(9PfQ@@HC|7Pgyli@MQ@KBF8XzE&%r6W zW80Cp*QFjAOc@3;4wt(WOV{V%X(yzdCtHkC^32kDEKX0SnrQ_j)cGfmpFX_Z6HU9Z zJMMZtP3&v)kkGeZ_n9wd#*C|h2IpN(@JE*HQT zp@i|t=E}kzH`C*FFAUDXCl|}h+e+EAQnO&Y3+j*0ybe1}aL;!cHkcuNS;TCy1nxEh zEL#2k7YDc22)_yxiG%8Hwdir!7-G@FKcCCcMSyAy(3`b>nnr-YlLDAFteuZX`6ZzxW` zq{OP5Vm^jjnQ>~N!+<9yUW|@ajyPpfRWd<3=AD6%u3P=i*xbo^?!&$Kn(MbJ7%Jx7 zJJ~BkoRVzaxZ!V@iyc(?OoJP~YPbha?Gn(cbBfk?73LPAvpk=g8x^BcYANB>?%EOR zSt$Fyi?1>)<5)l0o8soq+>-p|mA7*!rN^9_CV}B&j}+>kDNBOfL~CYs6+IS+BgrpU zpUefKb0-y+yweJh_4>%kE=-*6#uho%n&UxH7u~=eF@;%tB{nTq=~?mk5aQZ65zbt~ zAQ67;BW;=7m>*XJ(&g}g%pL9+%t;x!oXg(pjV7otsI+Ye!eFP;pxBx~{apM<_J?G| zPio^0cE7av6z6lA5VeXQ48NI5)~amhw0I(&z_Ao?qr|_SWfWJFIg{Qe?iy5z7-y+q zKvw!)_asp8F z)GwC%Q)0*N#cRo|S>1g~kd%#Qg`*cCFFin7H0Qodxp6!tOQyKVweyjD=kW*DZ9z~*&(P)#Lo682(`M8>=*W6x|8ND#6Z~0;xw21 zrrREn-P@wV~Gt$L{Sk6*pY zbRc*fAxLBXj_T=YbHC8rL^_0V#h-3WBz*h}MrIM-OwugvB~@fGKhNvtUgf-zBR;x3 z5e&)kVs5v+DU)wAtc|MdTA%sZmT)4N!@DeT`Ittg(l%-Q*)hMV!Z=F&nt$zT6RTtgdAu26LK8?b2JVPIB|HAnKA8L{VW?Sqe{{4tF(Is5Q`J@fjesV03g0l< z12?@mP7qPp%%-?xy6x0)0O!W7ejrBO9}=?#iCa(2V~fr5`8|xn88!x>p{yLcOx0&2 zW00b+1RV~LxbvXNa=#NubH=U-}8Pl ztKVEGxK5J(x|rHjFp#5tITz;}X)ah%(HrpYz2%|Hz(?LEIR-z%a#tk|$`Ya(**c7y zg{Fn}A_N~qK3T>KQD(bHmx}`ppa}}_&VODntMg1FYBPCiU?5${h-keQVS)CM_wwQ3 z_njYdDR#zZIj5uR6&I+|kmC;(g3e9^EV&qNY=Rb5D3%<{3?bL*!?QgFBN6m2QwPBZ ze1k-}rfU=UdjrUI0|Kalc~fJL%0PSg#}96L^XT(1m!&tE(Q)u0JuL;jLf~{SF~3G> zHRbd)n`)s|mZzkc)^txbSc0(8OcV8UNlwM7vsEbM={RSpJ9lxD-qo@u52v7g()Vl} zX*91((Azkh^ItQm!U>k%5ZgJ;yl5P#M!PQeY;S+|^0|tg6KV->`le^|%=zVp)2^_R zSTLLR_=4s$r?I%rTl363MsqL9jIe3B)-RSz^sX`fy#%?D!wK?Fbog`X+&RWPe-rAwSZQ91WrxK<}?$HTf z299^qmY(Ho%Uq}xho?5bKXR!{a$bu(cH5hDQ^mL$;?Qf|#d*&n@L4)t&u6b}_7z&Z zn+SvHB&T+|V1`AD)@zoj+TGT<7e5@`1bA;_-bktGdyYz3Mes+Yb)}PkLG-hme?7ON zCo8bt^n_eGR7~cLkVA&NIY#p(yAk@{d$VvwuhKk*dF(caq1Jj0c?sI z!uoiu-5u6c7MkaE)orn#!LRO<@DDoY9Da6MB6idimOKQX^RnfHyME-`nv$FDe&5aa z(Z1?nxa8##S58+!!v1d2ZRb?L+oD^Wgt}$(&9iZXOLmesEI%q%8qKc6s;W1#T1J(> zQzO(#>rQijc&isq)#bjs=o5$kx^TW|zRCDrSc!8g378+BJMA!u&TE_&iX=)fxR*mBA#^6sZBE3M&1)^) z%jYZF)U@{EEB^wsd%jDyaYO48C7T(wLvii)%hQiXYc|s9HT@UyzDcj$8mojtEFTxG z|CmuJ_G;s;%`rE&YNvnMBFLan0%lg)R*;ys3EC2#x6n0eN>~{Duqe8|$={JiDx9Zq zSdm}TNd8s*IPv0Te4YJ|Z2FWErYk>s&0^n{7Y8GQrZs#bBYOGiiNUFIkM_v-bwa+b z57h_@3Ut+wp+9lmv)jXU^_8Fr{xW^f%^Gw6Gv7LIPqnnJ;B(QYv>$@Ol3y!aLMN)U zRo$B+H}RQSmT5dglO#w?i+!t_xSx59f9K9fa*CNI^LBMhueIc6-x0OlU)#&A&01UV`v}2=e9o)e!ah`fdyW#KUF{K9< zFLobs?eBSQSy+iiC14AAs5I=ER?g5vLziApC1XN(QS^i$8`(D2N4vNP9>t0i33<}<|VwDhe-C%F}&Dvb8!z=H)y z^i#Q6aNG6a*xL?<6q3wZuNB&NkNY`_M}J+Ut}aRU^k0&@MQz1k71i*9lQtJw-DgOqMPSu72Vs z&=rfOG@pXZWX)tF!04k1mQ2m1c3CsKC%WE*SXOPLF!`E9bYZKOFEXTS+i+UVCjCX6 z?c1Jbbc>>A*D5pbM;%TKDN3_3wx~O0RCFjtmms%4KaQp&^rsfIXuInA7REyP>NKOw z(34Lf?Us&tU8La64GJv|Cc0TVS}uI^g>NNRdFLquj$fN^4BE3Y4Am@{g>K6*KF==? zuYC!pTuQvNGxH+v1;bMJ1mg|GYN zA3idA(w;X)hdk`vY8w@kq-*p3wD%CNwG#yz&KQ6^xd12 z{bVAaxKHhPK9hd!>?oE;BpnhmFT)Z;64{A3yq_UYv}Zng=!l#z{+tYT=X+6vaH3dw zG`pI&UL1BJ5jFZlDM{?;5uGOQZ#Z<`>?nRxdNTJ7an`;4`ahePp7^TSL@7bU0>sKw zVO{*G)VgVvCGR8NT@sS_p8%K4eSI9{m~V*)?X<{rFE~&_q`oKm`AE?x`h`g4e@1xp z86o2ClKYGxmx$0o%TDLbf#M^DCF5g&!%0VFh=WR(rH8{v`{MrHHATMtuq3V7nf&m+ryT>Kz&8A-+s589@ui&f#v*qxFo^gvjbU_z(<%IY~uTd;CHRJD6IT)2D4{T{7I1T z3lNIIFqV73Ouw-E_ll;h=h(_;yR3zj`QRyGW&asfp!uXWUWX_9j@2)q6Yrupc2_zj z1igYFsO32b-=GW&ieABn1-)MZd=*kok=hU#f(&g>aL@NEr_gE$qz)1m2NA&*;620C zB_a;u>S}!sLhEX!1|dBKf5C$IVmd1#zHlS}XZ>0dY#?6{=jckOg50lA4Qdes8UsCm z#$q5QUl4+k&C#&J>P4fe#OBNW(?($aY{z55-lO;!Z>*pNlXrhJ5or!XLi zU_dsQcMln846PgrVs_V-n;MFhdaJ;SFpO&`1PTe_6XOk`eY!ZM;SIyw~&+ z3g|$Ozqe`lAKL^B{TenVBz&po=E`$^%#-<^-69#d5qz(9zp=&LX?icK5qKl8F~C=U z#h>lsk}%Lm0a!CIHtaL#8U~r)ISjuilI_3)p*|4seiUfB^&@M#Wn>xP;00|M+C$tb2QvaB%_|rSkC19PnU>o|6Ao(3p zups%TUGe)1Vc6(@Mr#HYgvdab5`t);3)?y<{T*^Zv=;%3b=Xf60yc^ewvDi0)qynz zdH{{7AozFaip@9!cz}n~-{#^Arwi|A=nS>VV=n4?eckxEayCaEo4m$ctz6?)tV{0M z=J|}&bDu!My)+oL(?{gTh9l#kmR@~-r_%hR?G8=^nhrgDpNi+~|B8AN{Rr7HI1H%g zBAIqTzbs0HZ#yLpWKAqBgTr3kfLS0oCqpN|9(%h!pOx5v2W zhh;u|4bEcpA-<~j#rdZw{)=o-D=4(XAs$f%~cstsl$6W|x$Z{E$pHy|ah$pUNp@>I7q{KuG<2SvW8*`$t-p{c~FV=Dtc8_m$6( z0~v_qyBDDSJI{gq`$vHMjwV=uh`N|z0*v6B4N*YR7d@HF5%oqn+J7cgxIA zGs3ZUvQ-zNx5(B6z|^Sgq=^5*u?_S)QT>1OEWn!2K};~}L}~+d043s}pA{$(4}k}u zgZ?5Lv>d&?Q5T{QD^6O5^^twZJH(wH$`T6Ggy2Wa_w<*qD@6gAnt;(!4CH?&-M?n$ zR;Uq$fBC-Wti%&PkF$Qy8UNo&eIJ%~e=Y?`B1*{JQecw~`nxr22&|gi(G((3P2B0H zIR6H!+podx*WmVRaQij5{TkeU4Q{^%w_k(Xufgrt;Pz{9`!%@z+Kfk? z5*w$4#qI>5jN+MX5rPXNPavLb9OD>68qqSoR^GSw38IZ;E}SoMhsb%G&q+rZ!npYE z^{EQJ3CbXO;~vF8{lQ4N91jiLoQd-?<275X7!e5;L9CAfuc&0*GVDOiRFc>O)hXZO;d4N|QWC~^rTd7gNP zbA5aHVm3%dFC0Jh!A?LY1Gb3mqdeQ)*7PrM`?W*3{TkeUjS+6Y2De{Rhug2g?bqP; zYjFEDxcwU3ehqHF2De{>+podx*WmVRaQij5{TkeU4Q{^%w_k(Xufgrt;Pz{9`!%@z z8r*&jZodY%UxVAP!R^=J_G@taHMsp6++podx*WmVRaQn6Y!G4YJZ=t#WWWUD8 z&B61}_G^1-i;+xqQQga1Wg}}=f7CVoD5OR~xOasOWx$j|f3NFnL8_;3!bgDy%4o9) zr#*VpxuaXRaVYCl7QS2Ipz%zia(9AiHg$u0+Dk-zM_0XL8*{nsYQyM_o9F4}^5v?X z#_h%6blx<@&1GJKd|O1G==GkFhbX=Pi*!(4+s)y|e1h(@d^vxPGWU#>Lvpv>HEjhq zqA<%dDf%r{#w%x0!Rre!$#P>YXX5auzMrRoJwK1FbwsYsg5%ophP~vLKSC?DIx8Dw zLh%{$Ohs-Ph*_l2^Q@YP#q+Y}M=;w)FWT^-EN|Y&`k|Ap;K}zIK>~aKuq$JH#){`T zTXgQTAQMgNc9+)fT^IV~&3cQa`-|NvXD$+fn8_cnhc{SDF&^8I4fods>ylJ1MV!84 zxe)o5>_smctxLVCD2`GYxx_ zO|;&ZoK-fan|*%QgZBSEz|6UipM8+#Ci@#L*;j_QibeM+>-gerT*ZsWKo4!|AB`*A z=Cx?C>ar(X3J9!O-<;IloZOcNf!~EDD76&*4s-jzG>tF?-NaVcH>YGO0>Xo9u`S~o?`sW|$wN5Ek zXA}HH81o+dp1c9BmPa{$p?>HAuB2fpwt7vbI@IK212s`0vj&FAYf}r7;cIvbPt?EC z-Fs~sP`6TUo1WB>AwpVMl_cXZ>X4bm#`CI%foHuCYu-9+-oVR=#Iv^^Z_s>0n*^*8 zY&9vOP36{f;;}O#?VvJfS|aWUJ=NcEvCOs0TY`mXa?B?sbM6pfN(_cX_S(%2V`Lz?sy-)p2&-ia)l z6Lv+O^^cjysoF%}4_nBUB&3JU&YOKN9Qp+Hf-;SMR%;^9EFlZ&l^8#{=3>>4@c z1^N)kvpk~w$bL@MQ%@;Zt)y?a1u`6)6@Z;UY+HRYRBDnIIaFg{w^MzHQMEkQ_mE6m z+9$^i^dP)^IV#M4VK1cSevRF2KnkkaEI-TEMyOY+@`2E8qY+qQ$|`6HugfMk>ztw_ zM<=@5-1|^rMp9WmiA~UKqR2J>5i4SEWO$o{8Z#(khlr`C2cwO~&@wzj;y8AzGKkLy zGETI3aMa(Aue2EH^tSIf;1i30{JYqNO1u1L(4vJEWf1O`3a=Yo7k3U$+JvxN5meB^ z5XEF*Z08(h=kZb}?O_+AgY#kw&(BqZclT&r@W)3B=E#_gkVJM|jrVOD)ZMd|s1m3y zbfk=mqwJHXi15o$=UT@2ri!R;SKgZi9W`=$>8ZDALl+9lrymyZIeSdv$^62|>*$FI zup|3?Ms~S!;FhYOO^1(CR&-7BZn)E8Zc1i%&X$C$WIEVT(+qRBQ~T=Gd|0j?=0Npj z)s*!BPQYiKGh)y}_DCso26aD?&6g_&pNPEorwxPJw9`~6KlJM8Rk1K`ldw{!omDC} zq-km8wdKUaQ;6>CbhisfwF2~%)nDnp`uBDRa8z{khe{i7zS=8`eskbgagx=tm|blt z0hvq-GR|2f$-J?ULFmm%E+*|_nmMbxaVc~%RQ2Dolm7lCooGRZyuUFXxAFRuXb;{G zn{=i@0Rd=wK(?0!+I+Z@$9A?k_gbJx_1@KIiE4q+wkYRB ziojE-u_H&uptoDjniUZ#n=iU~O}J@}gki~)gRQ0s{mV{N<6@`I#7MBFx-;s4ew4Vl z$!^tjIAwCPoDgLR(i`uma?$%`PVua`nD*v_LpEIV?pss4Vb9gV<;$T%%T@Mg=SpZx z@*Fo2`eWBGcyBw2Spzl>Xswzc4Ll1xhOwuI;k{31muBJ`+?||nU-dq4oYfmT_I%Yc zDPUWw?W||=z6so0Phd30Xmw5FUnkqtS)=b6xW{JBt5p9>St)2owhD8v%vE_jk~2z}?&c9DZtGU^74ti^>DLRrzV&{XejZ4FHOPjkZhKZUaJpscxtvuqH+aqrzo50!qQ%w}FXEa(5 zqU~^ktIj@ryCJ#gR}Ar3jVRg@HK~@7eiEH(;h`73ei4X^piL3xTxTI$r(&cW1^mX2&>5L>URm;JI zR=kTUVVh#KtHMqB0Q%JxX(f)4@!q5Dr1(@?hBZdPox*0hOu1^ zaK<2^=Y&mwM}4r%?sKeyC^lQ2N5W{eUdATo>77Te;}Lc9j?NeL8`x9xA~}S@S&K6Z zYs^w{rt#gvdu#Oj3QT@#T*=dp;){AuBVQ%&J5VsxS zbb61rG{jpyB#Ry8&?xmr`?TJ-LHLd?s1*R;GISNqS55BW+eyxXEeD;qPi;G$WC?4* z%Qia$cGqL4x#5{zB*S0~is%JhXiG16ck0l+NJ7M5sY#=GNV6=bZ2;50#yuL+<2kRk zD0cnuxOSdgWcR%e#o*~98xn#B=+n3WhP~j|4}?9w*e6ZLh|#)Y8j{`~XqZk&hp2K; zVD+x}joIWH(_?2Bc1Hz$=@q`&n{(DNa&yu0bdlMDm|i>x&VT0}@RN++Uej4lzl8zZ zAHqkTz3h>{d5~>|RI@zH^RVT7H5qHy#>G(ds1v1X~smzU=hR=2k1?^JXNsVC5HL{Xo&a){C@Lr5ixdS)eT&F#5d|r13I{yu!eJMrG z_K5da`DN|5ny$k6)yoxvu_ehmj|5Yk_MoJ%xZ+DjaUX~q+W#c@0rI3>&2ywEv3Cj? ziqP@syIFofLgZvUw0t{rdz`UQeX1T~CY#z)kCc8vLRUO(_Eo0xjq81EYaah93-z{~ z2wTCEgXNX2S4IUjNl^YxH3lb9GPm`6Lr=j1q8d4V66UQM&4d1HD0A7bslx$roLq*M zU8o*HuM}#f%NXQDC@G=fvGLBH z#nn?mF3(_dM5=CKH?uS2!0RR<(SYu9Tbdlk3`cr5`wi&Xr#-KSN5KHUmv_e3X+v?@ zHZfTC!3-mZBKa%1x1-M1%mijS!%?{Vo`U6t0^H+GktQu0b*EB(2j?WQ%W6dn9zy0M z&jlx)d%r_}WxPDkmp9Oj{64(OqSn0I8XkDxh_(YMUXSmLrYz5GXm*jaIm`EkO&&$* zac^QvuhsDbVH+1gJB{IX$C{H{AADh${^10^hho&UfrP;nARpTkY<(!)_!h zb+3}K%dO5BgH@p<2xe14L9rnDS{m)Ii}JaK>hEhMC3YKxn(GN~DW_!B6~*f^3Co&l z3eih*^IL4=4vBwhJrgG{JsUBg>dMg^zXr{Lj68huPW9?pzsEgcuBdjv*$-Tw--|Np zi*CFahC(^~$VkIvP zWd&^oA94*w2KrCZ)fm+tWS;D@H4RHAQ^Z#-*Bea8xUpC%4LI8PMmBn>8DbnqGfZO_ zSA@OUjc1U^OJ1~h8;s>4NWay_T|eEj*C|f=O4q|M@m0gzK-fPSaThD2e;b;RY&ujY z0n)h!Z`2VeS$kR1)O%W%b{1aOcwPjSIpD=#Txm~6m1gKG8U&d<+GV3FnbbYo>05~& zZ7PZ<9Abi;_PS^cb-tYPZ8H;}%rYQI#cV=oM(Ia>jM)C(nEkO&C04AzUK!QIrnA1O zF}rvt2)1=uUX{Pmdqy2QRS`wfWEGyD07 z1#zKLvC{k1XJQ#Vr|SA97Q~F8Plb&3LLIqJjQz2g0Tu0IF=MLtkHub4eGe1+Oyp0A zhWg?$o)5xfvG-IjAN!PJ`T1uuBN$Q@7Hp^Mzyl!VAZU1#v1!$PAOga)T|> zWRfkW5yGUpEoK}_Atj^*(^)^rYrjLAFeLNrCpmK^7B$)nwcm@a02Vtku_$5WV>SoQ zO0I6Ae~>@q)I{IW%C%_KLjw{7tfQz6D6rjMfbc6+yOyxr#X-0R8Q9RU8G^1>EJ#{E zL;+2I+0_CQ9~nBN@17qtgJ!@M)ItqRhQuHP3+gvx(j`Iz0Zfy$YC@?&g7SM`fQE{& zhOfJHu+?KAOTn50*QK7_t5Y^4~PQF}_AbRcyEEXFA#1|L2{xa~2{{##Wk%1aOegLm} zKI04o^1qK7lSFMi*mwjIe>N1MhWPvjoC*M(rUd`bi~`{K@1)UR@R&=Q-v!PddR3~C zv$;P!neNd0E16pKOT#N$IzU;^06GE4H((Za|3$t;zoQ5s-`}wWkT1Y1L0;C0F!JRa z_!s00#0WsX)ByPg-H|W*9r+I2kuUIy|46?2cjOC;soyd4@5vXv3P!#FEB@8+Uy|>C zlVfV{c;hvUjsAiqP2ZD@{CZYTYSYI0H?aUI0Avx2P5_%efCd0Uyn6z$0VdOj@D2+I zb0~XP8`ppcy2J?3?y)*hg(+dBl^zYK$US29!GKpEf+Mai0dP|o{Q-20qy{Jz0?Q;| zkdPpcmmtJD0t3ntMumKk$14z*fi4zQ3`Rs>9{(mHWPshYm0>Lj0IGAB_}vn)T!q!K zyO!CoCLTaK{XOViQ`n%dH2`WsG%cZoCDi{=f-GS`{M+gTP;WprP@NzF4NLSzWxUJ3 zsRSSqfDC{eqVT&g0eOBGLqvC>T_!Om2%!FjQH2!B?Dt&^C`;wA(+}(% z!3~t8q|D?X_k4hC0PY3m0oaG4SEU^Om;L>hg~=pQcml8v1cDY3sPY5kjQ`*b7*PXd z2`~e#7!LBF`bWI{j!0NTY#4-CcM$S*k^c#bPc;w_I%Hx0OEueAFfXhG-x%|EPynBS zW&mIQd6xO}i3nE7fqIVL1<-Q`b)qLSinI{?d~AvQ-Nhg4bJ9#u?Qp; zaK9#c4s^WR-0QH{cOmhg(g{}4f7d1en7axFoKF4`Ucjjb3pn)v6%1Cge%GVl1@FtB zgTk8L9gw2_QIdeT`AF0k!2$WySyTj&P%fF6;u$I38xkDV5ad(5lnvxh;2MNOt zFn{IJyZcm*=3rX%ot^ClWV?;!OCH;8mFI4m?hOGA7H-?Wvc(km`}e2+JzGp}ZUIy_Nh4E} z4-S-^?A-jQY~t1y)^=}g^bL(D*DNZ%)a|F z&%d(;EjoXWJ8j^%krOpJv)FGcFOStuE>~_xymyb`{#eeL4&n<74sJwj5=LUfVveOQ z+A}kQfkdC{SK*mGcyGb9Z4-igOR*_MU+RzNs|+wkH(m*&eH1xHKOU-d-)!FhxGdT_ zEHr#4pR@^YoSivBwx zuDX@B`|S#$-xNJJpW?MY-w8z|VOzS2#u&B1M&*9Rj)&rJSn*y*Ut%l7=~}~)P+`(k zp=rpMvCxdmUYa@>WW!vwLXdoj;W=;*0AWyx9Schw{fahemDU9&DbA*<=U zc}I^sMCh_FF0#e8efm+vv)kb0ERv9-Kw7(g;&D7#IpQt@BE*tHxg?&e1rHPL3#hvL z4Y%!aWMFB1Tki}Dep;aMW0hCYuD88*LGs+x-kr0NE|l-?;b2H`8LImW7?I7L3E2N! zw~SHoa@~%uB9@hXmz%G#bt9;xe+LS%UI`lnalZB|4ITWfVnkq z{=2OIJK?nkiL95#l#>sm!2{n$t7i~sMkT44)F%oHr+<0Bt&P+@?3T#zJW5?;ORuuO zC9-F=US13PQn;l4WN%GCV&x?#p|EX=))Lva&IB+o8#PKo#t)N@zkGzwQlHt$}M$&CG^}61)CQo(w!PXcy zr!-~cprROP!#q2)JKD8qMXNqn3Oyght-aA}$G8=AKcnc;E%*8f(rm)eU9LPHQFGF# zj6eT6|NQ1+v>-~7o2jhYPBvRvGHfhV#c`|~cxZwo)R&`;_{<}}*PGf3i@=Ggq zZZ1BTf$D>gVo_j63}8MO_oH0wzE!i#??bOGhbJ?f_swzHuGQ;o1w#r0Y0-+Pg9mcA zkUEIeUE>y!n6Ix+guT=pj@!2dz1({OdgYTm#RnOx(B>yzRUJjP+XYR?J_%(kx(uV> zckKOIb2iv?zRag}dW^3LNfR;D+>q)-Wo$CRuL(9Hc$mFywPYF}1+IZjgT)}pRr}$v z;904z&f)jn1W-|i!;er8JEQb+KFG>d<$M`p{xIDMqDpYnPapdSPMM1ay437Qq8rv-5A-> z-4*tHoifK|CoT9AXSP5j!SLz+sLg)VKE;V&lONFiq^eou;ZgY{`iK% zh!>IY4wK(}*V$Rv!KOF+w159**}MOy#&R*bxlbo+BBIqaDMXSvUQ@|q?kFn5&EO_2 za8v8{=&NNLVdY8D;%l9WMrdO5QL@b|l{Kw#L%MzJAxS#vxmahS1MX8ei-M5vtXzATRXhPbsm0_d04d(e z-Dz@Y%Q*cw&fCPwVw{C%l$)mQ%gTk{YVZW*cu#c?_BdHVFvb2Atwa6s6WUYQVI#v& zk6vrZ^Z=BGY3X%fEl6IV>p6XkzI?Fv$X8{v7W7#9G54WRf*y1HbR*ab2H0A%jjvXmQycT8f>mOJkGp@A1qM~V_eb=oea*)W&O%Zz^oTupfxBwe)A&@tVJD1MgQtlL{O z*-S?f^y1vNFB`1Cls9B^bNY5AD0q^gx=?FPoyU(Si_p<4)AE`>Dr&qi*KwcgQl{Q! zVW*6FrqZiBf`WPW>U(}elRPnhQN3lxd)s$HP3+N<52;tq;$2BAIyd%WC4U`&#`&Il zH@i~ZAxM#;$3NG&HB&&a?7l%$26Fl8xtE|z<}~D7xD&r#116K*W{yDT#o|3!vxYJn3^yoUL}Lme*Rh&1l@I%pDw!@E6QedX}o zvPdaf!^7XNSMLa$&NQ42x14%yEgfA>^m{p9HU>6DE^4U@isTj3MSn-h-4PyZTNELs z_^cW9lKMv~D1Nd88n!23y!Ok;Im7Wryx;ly{ouxMTEhqHz0Zg_JdQsmUXDjAP|s46 ziipLpUE9kp>mnS1b>%!_Ml_G*NV2<8?2n`y2}FP`e+mSplESRVz})cO4cKehCDXH0 z^@j8Es`pt&MMGwx7jsd0up@Dni?LDLHVy0LP^#w5v;9rgT+r3zLCrE)K;J}Sdb}#6 zh&oBYdxEM~_D$AT;SQptS$wj&(+vI(Qytg_h{_xbs0%9vv% zA4WupBq%UP0jHws<4;zd379FjNemCRfZ6hl0x(GMdU4_I>U-|JHZV_+EvpL`l_tS*{nf93J;owr^p7(9DzSp&Y zu7}YTgu;pVqQHmu8fP{~cH7?cJT0uFZz!8LtZ6;z!kIkPu~WCl`r@!4bbtGqfuZY` ze(=Jo0yp^wjW(HN8XS}-oRx3pYPUT$8Q#{)Yn**c4b9MSosCq{z8t9cpLYDkRSRHe ztY0`oGZSkNX>%ZsOXD?tjN>`XJ<&Nyx$VhJVgD712!Qv~lT)u z^tx;p$7S`%>RlIpLKgV{Q1z7oQT9u`N(cy2A`OeclF}gE3P^W%cOwnb($d{6-7G2H z-QC@>EG%{Rz2~0ed*{P`o_S*C7xRC%zg9{_rg$2;7d!MZF+;2@tLpmxzOjw(feoqO z?%}XR>gOssx+h2oO7>FL&`C#9+0Q z4$6YgRat0hxdLM5e@mGPo3N(QYB#=xpOQ2-WeTBsuRqLW|?}zhUI5ZjM@{6 zIP1dp*=JWyjo;xQ7wNc28+?2g$H;WdN*AL@p{iPpY8 zvr+q|=}vOdIpIUUk7I$STcF-eHrnvCZoMkr$ZyC+{$RMwQsX{v}1uHlZIy4X0}AQO zI*Hv+@`A=pI=QN4@qO&5(X!07_-;UxIcYx+a9GPbVhmc0_vymzSVEIgZ*)-4Xrd3j1y??3jZuWT) z4cYTKD`(?M4=xeHTrb$`+sp z8=-g&XP-Ycnj}R$4w=I)7@?eJ#r6Oe`kSttK8cs>cqlBrY!EVnNR0Zj&-?w;`?U|z z9p5h-*VVn2ecx%i+YK+3EEZ%?5PakHNUjx#J> z_2jEGX7PEb437mk4e?Sr4wDm&bPFnFc zhh}zUHr(>A_SxF3I*HU2(=BizvOf`>VvKpRXXw?b=(72EB|S6{h{{klMUyAy`1g#;AuPS zH3)QT`Ne7C2#HP+OqxOdj`s;;Evt|YIMf`)Z8!8mP{(2X*vZbvrYlM>qxpoML{3Xd zlZ~0JgItAi%KDnrjtYr92KMj>w`6jN?#+)j89qYo##W&xx#i;{+~?1)x5sT}!F4A! zsS%H1_T=>VPj^uc_dm%ot+Av@9;Wd79}l9PI|yKz5hKBEs+*>*ZJV7#$2jELn;!-_ zao28-pHa_>4+OZ2%BEE zuLl)uDtF7)j(fHW622#UIarGhDwAklhoSdZQSPv}p{~$&s;J}pV)x7S%OWqv0S#)| zyZvJm4>?x0lyB#45J?X^%9~&EA~HWFzKMv~kx%9Sgv*5s%T*Ufcungc_O$LY>oR|) zsex*IJI)DA!66gU_g~vziDUbM{Mz+4{rs}+T<5yk;L%7BI1iZmI{)*;o4^kaC=uV9 z+C*lb$~1}efHy|3_b|C2&KSJ_U5_=%>Q_F!l1};U9BKGP^6cm7k5NzjHl)t?HImda zLYnrrqPIQ$!Jo4#H6Qm5_S8`OZ7!wo8C}s$@--F7#A*BHu($W#RBw;9>wn*yo30>4 z_`f0xtXx=Jm?2SHh-dX&C5qBVz0_>gH-tt%;Rs$5Bn5_I>);Q*MNSn*{XnVbf1AsM z>`(n2Z9qD+!S@b+J<2oRX25%Wm(h*B0g6>Lp;)~X{h$JWpNuN3k2Wkp9Ird6Yr#Rw zu`Fo@Aen@UfpeV-lptUBXDz(m2ceTjEMS=hp88_)dS!o3)%BF`K|g)mTy?wdowLLG zPiC;+4aPUZ@+kt8E-TGnLpt=F=9s~uFQ#LH$EoaJkBGm9E5kHIv@GiBSU!dEoi}61 zDguMwT%uJ^pL6ym=|$&WsGat#VnokeBZ(N~n-#qdM*&VCcm;%tMNt}i=V^ojr2WtN zQHv~YYlFXm=W}(L45=4F_L`AH{Qi}WIe~8@Hka!Ky_Z+?S6ZP$Ex$2l&TMM|4L(W# z%kPyd3ttJ9$;r~9oL9qMx zSovF=M{P|*6JZTIx50KTHMFL0C;I-hD8L39Y)j-z7}UL;eXhVq@{31+Mm zDi{ZfO8$S$N#zREJjCt`=c(qc88WVi2If$WlG+q_OkB;OT%OV9enSbkCH7)JF@<_IrN;wKV<&KEFPK z|6g8rwIUP#6aKXC0bZWF7NXrw!B^myw}f7mT@*nH=H+ZeT=dyNj>rB=nq^mmnJLST zrXv&`kt>($TPiQosa^w2Fnx|JjcGpTw4jk`D ze2TlIKzWc7IZzDsIbtfWKe+~w4&Cq&jF<&9ytpF#>xvycV z9QE)`XFLn7!8Ov3E)q~8!Vm$yBI=_COSdZSD3A7{bB^U}KbFEjxM3H(SgpQZPGi1}r=VX~zo z^7mr-&Ctf6j{R9Y%G~f7yl^%Sg$sIQiLM@aqN9k|n&^Jx{Ohnlc!kFT$M?D}jxgMz zi8KL2&z3f%uS$xZDW1hzkG}>w!^6!;OSJDiz%`9lYPu3MdK=iO6m!rCZ1HqzG32Z9 zCG(|l=tiO*CNBcV_a9{cbl0`#(`654e=?e(xpSibCi!aP>=gxpxAFbL>N=zE=!Dk@ zv-5+R!Zu`(UlBj%O_BO`oSofxCYoG6SSF*vcWYZv&gZwyLSh!%US=qM^(wa`joz8` z1e~*wBn%e(qGYI7gZ3ir$c?AgG+IBGC`bw5H=Y>wMtHw2QBlkgq?pHqqZO<64XqMS z5+0caXhUc@e_me0%XsS}$gyz?`n?0o+XZ2OTVRFqoAcV_PVADsH1(9agFA#ZFl_)sdx z#P9C@95bu}%T%jnouxRw=<1J!&-r)`f*+fgjk*E!1pfW4ui)Vzz368jHuJsE?5Ww* z4Urh52c{i@w*DVV0PO|Q+*nYEM`1)1K?9ZDQjS5nU8FTPoAFrAP8hC^Q0hcyWa7eh z*{hEw9Ye8Fl}4Xn;+x$2cap|5YM@d2vwMB+VNl3NYeSwzQd7!3~=;ia};JUb=7w9CDDYl68b~OF? zAZ;v(*CD8w%TK>g1uufVy-C-l`!tD^D|&o@IALuvlU8NWr~z+OfG7WcHjO|^;-sIs^|{a!|InZZnI>M4MnkS?)^X% zavA2qxa>B;kXZ6aIe87MStCIiZe#q87st!rm2pL_2TAopyD2?!hs;L0UFLie2%PAq zd{*J$yr(L!U4iGvTQjpv`Rq&i5MzX$nWCt5jXCG?ZdOW^h;CP1U&Jx^ z9#_M_=c-Z5`00E@{J8@R?CbQOv;ELIHM|)Z%h93 zcGNEQPOKl(FU&~7#mSx~W0e$XbiEd&z%}6FZ?qc-yYve&=bLZ6mt?QNkpU$|F?&1AW-^-B1xL^DZ=8l0d5|CC?oUt$G)T0EIIc%W=BZDqX_^g%YA~a19W(skKh5F=4*f&p^q9B2(U|^vWj1w-K;heT<&*XxEmj z@@HK8aZThLozv7=jwq4EO4Q~VJ*Gl9joNipz|%q2cj1OU7PYz93A~=B=GO#WbPWK{ zqb#{O-1>|JE=9juGHGrNaHPUc$#x)}wKKSG;nn~WSxPbDo|u_B@U0AN2Yr$)`OO8^ z2N}2o>Md`(^3q(rS`C)P-^q;k?$6x!zjHwubU__-Lcz~>iH@~uy<-)R{ea27EYRSi z^pE-QpMXb15O#Oe5jia!d=RwaF(~GpNnCa8q_=vlxB2zT1Yh{p%LC{}uH$U7G(t^9 zd{=!dq}983{$`Z>RIN^#M7t-6*9aj}lL)P1I^amg+u4O|jKkc62p-5sS|sM z&OjuGGMt4kRIAErtE%buyCA1%wFd2CUFi4cK%{P`BJ-y>_qQZK`Hiw}k%CRtwwp3-_r0R(n0y-nIIq%~)C|-CJT`E)ZD<~y_cSNLfP2ba4 z;wxhit}MZ@0vmWZOdr8>TE73?kGFGz)Q7B5AbUoznZ^Okfj;NnQwM+Ya9Ze63Lwh7 zkRmR$M>YDuqev!7i@TYqZA)WgNcZ#yvkH*@#H{1V0`Y+%s8N|4A51Q>SoY}iVn~!+ zIU(D9j>)k=lU=_WgOx55skfYR9|B|oZhk}C?1ep2JYM9OLXoT55ZL>cHy^3^A06;N z@dvK!CrR5>U)0(qr0{+4A(Ia6@=b}{recW|F@xg5q`516LmKU}`#Z<2y z6K0UszIyBD|G-@wUd?Moii{?yuQq?S`hcoeY0aad-q_FN62HW$knKo;_%>pXqDLlB znx}v2!O#EI=9{l&iF!?QN_kKrUQWFV#~J+HF4Dk}HQ*=Pi((Y5w8X5{n&bY2wCB(5 z2ENW?u(b)r#tFEjKhouD=|kKSM+dUuI0$k-C;8G%J<6r>`p` z-Xxfj%N6z>92ZbYK83bL=8+^;xt_~N1+d!g8!G#f*5uY61jm_Otm8??iXxe2ekN%A3 zqPKq0BQbR#QO9^NIOhCEGW$>HOCf7+5b}EM6k_1DEq&gXfHfewCrPzZxGRkkbc#h= zEaZ5yubLfI2E(O*XTzgf8zaa|X2)Y*ajH1qG!f2Oby-hm&Ay`zw~)Fa5vBinI`qH+ zr*N1Y&ES~c*^wygS51IqS(gTuXz2zy2rr&y@8ufhtd(Nx}(uK=HCxtWJ>cl;vK`Qqc`Q%gtIqDNi6 zhmO#eMCAbM{4cNlAMBB4bzOsU#r9j@lo9Cv5D17}OCRMK33>mw)K{;lnEh`_*)4|F z>^M7&)a}b`F80RZ=;wx4-fNW1HSJHiyz|>>6(5Rt0*~vay7b7`?>jzU`G!Qg3E^=o zAK^$}QHps^?1$Iw)u3;A^cKyN9E;3ESv7EpFxN@vT||LLE2K(RRk&VyCQQzwHLpAr zp1MgD3KYFD>0P%7Wh@E>3qoem$iRM%Dny@ONHGJo+zyoi>ib=&l9-gDR_X9cHAT|a zZe9?tWzyWl~D|GmRh*nR7oaG!zG`G$tLypNl^7_`PN(nl2KiLeC@VhvSJH zZ35PlS^@j*$$Zu&p3b2Xr(eTQK~+dH>*$A*z-JaANkMrnUwEnqzm(IEd&DSm1hHzq z(5XQtcB`$Cr_#?pP2Y#b-!X_wmd*zkMqNhGxT1_rBcZVZ`4QeS48Gqk`*Xlw0pu?` zMSAmBGuU84@!xbT`Z1Nbf6je7bx25fTt$?HE;xYvF~g`V)KpgrhAAaDWG%tcDZCf-C9a5F*M1C{(lO zJs;NWp?2fx5!Y-;7n!BWhINIBS}##wpaJ2DL75yg?h zj2{xCW7oe_-o8i}Q@Ie8R@>fwdN~-eA5Dd~Bb31R&&TY*gqAJs4)LUY*LX4$+s%|n zrdblG%~of_&}mXl>N?6Nts)e(W?({&uOA(6c*o&CpNaL zOnNvNA1`*5w7^Y^g>$UMO9WLL#xL)JMyK*hUxAKG1)+m(3mRRdTwhte+WWZmVcR&h znsR&>3kCdgPpsaXQq>^v*hhEhFYTmk*vL>$5Rl(G=u5I-u9(>FbN<&*{L%4=Ms_G& z)NzlG1p>-SOt&ocxM*qmHf}*7R>f-Ok4tz>y4Q{#Po@EqeIKh={hT)_r;~c)y!?wq zFn@$^Q?E{&M0r51c?+#0D;KLV6)J>+yZ?=#q>sChz0BI+d-t_TI;4p?|8TY^Of_jj zyLv7uk!zz26O`~{XcWD1@sfJLXQdfJ#vEIqk)vJ?0mQ3ux~z42x_Y&l9*a9ArjL+L z9g(mt0J-M5X|(p!%BGM|RXkL4w_-`r0Bwlp|I+j}m=MEa$i>HdP?k;k9=84SZ0a9; zWq$iA0C+R)&I6R-dOXI1$TU)xsEaC`PkEit^)l~v5{Ak<^2c}%;~FO>1+`$b^`M>D z2~=@&;O2c@f)T$FBa$$~(F3gDb6*j?uZ>pyH4W5wQWU4U1F4@EMbk$UH-}lV z+ql=ZUK;y6tu0L5Tf%r<0Fvuq5LPy&_kNPLhb!5FjxN-JB47hw44ZP;X$C2<7lVPc zA=jZdh(k+ItKl+00o;O=zySrKxuU?x!N`n9KQ|XrD9MU?2|O@9#jeTziB#;tpw%cG zV$S*16YXzVuy+SJj0L;D$$`ic;>`k4*E;PS4oDqqDjLV-y2Fk@-n}AK4}tt@7W<-F zPT00zdnmpnCV0E8Rp0n)v8m znfN)2-i|Lt)5T67rnOh%ixqyn!%p8^p8}^mgGpfmNk=eL$UZ)wAZDa8yv~7z-yPGoVj4y=(7`y2eGwF8G#E&=TcCqZc z@XSDUL2PRyjyvZ$X!tscsF2SUXa*KPBdGn_Y#+-cj#A?^9%T4Mv!f}L zSM2;AQb!T2@ZdA9d1WxOKz+lK*CXo(V}!9gHf-=;*5y_V5LSz&+(-5_rBO%1SWk}ugGp3Rr{ul0&IkTGi3A1=W#y6vXq zj{vkRV95U!4u7D;QojQ%DL>pLMN*@^&wOU^JWQ(?1jD(!>XcL%LrcCUMUbO`gvq5g zG~R9$po}-XTLnuU`Ex!E&mEA5TqcZZdu=tCQA^Z5Z79;HxsY+u<65?Xt9LI|(wxjl z7_8dVCp`qLxMW2Z>Gl?eIqgq|nK63+l(sO+U9NEVtbJVaDkv z@RQ#r#!TUAwOwNyo_|?iLVDI&e-!B)Q2AJ5wAvl6(dcQjzahi{aI zG^=ECA&rhu#7#d%@OZG|y9pNdzW5htdQ1_1&Sk*zs1ajeq zc>fKu=LB5Eis=4+EEi>irBSCpn+by*n#QA;&y((YKGtof0$)MY#13$vxjh`h*VA9id;G}p#_p_0^FIc*S3S1~^k2*ga|q&1v9_I+0Es}n%mgU2nFw>~n;EO$7-vO`P;cb_ z0mT(YiOdE1yu!^C-_ISU=3JHo8n=adgKvZ8$zm&oP`WB8&OiR*d1Hq6iJSFuV>~XC zE#B^d#ibMUk-Q3>-uRf2<4?OsU82)}5^^9Ca?&iJAUzJl$gTE8Ba2 z3WDv=o_+PcS()))LaRmMjWPYdKu>R^1xqpVua{6wA!eXke{6h7L$A;gHZowNp~CfV zRIA1(qs2Z*|F{Pq$h^YLI7Q07U4U$Ll0tHGhg$K7p!%&DB9%s`JI2ssSH7?`6#_>Z zW@f_NhK5ah)t&(6b@*5oJSx-w3ibVf8Hh{g?NlVY^Z=>Hd-qQK8AkC$ArXs;^KO#X z<6zI^HYDND1lvK1;kgVuF3aS{vK+5tNGO}`CB5buzA{afYyW|d;NDdKM+VW4FkhS{ z`uyN`I72vb1CQNVDUiWVrJ+5A&B4|D3@6eTyVSnx9y?+$k1}A(_#rE5dGw?GwYJii z1;dD`ZsNy-CO6MUOU(2_{C4@@GscOZ=Qv5*&6bOXKYMZc?5)Mef=FWuWc@UFI)pVV z-GX3he<2VNTh@d5lcYm#Kpbg2?Rlqq@MoV)VQIk}tK4qq)83lfE<=)(Ut{o1+5fEH z{U@FYvuPNV5pg&peJ%nD_R*Z88b6eKGG!Z<&oD&c@;WBzMnbgZWAl6I*3(0~KkFrf z!wja_Yyujek{9e(*gPvl_1pif#qkKjw+bb{X<6p$zxoX;1rX!o)9B#Wn}A`G<44Yi^rWaZhLDhtejZp}keyC7x|RXP;n> zQjDqmF9%Tw$d)QA1{!YFbvYuVwEr#jj~<33nX610Y3;sVdC@zkXd+2YZ)|qwydlA8 z9Gb|r?z{YdO`wB_GhISE>a2$3J4^O?vLf~omyl>s*W|pe; zz46FMTW1LeY0Pf(AL6zbvj37+!>^99SeQ5%)EW`S4ym?)k(wiaLcQc^l2fLo5cb~~ z(_N@0s(=;h$g!UI4~M@6MiPn=*Zw_@d>xr%9l}1*Yu*m6BVf{7C$;! zlq4?ec1o-I;qu;pon27_Ppt1}F-N#>K~_`%A<>Kb>FT8y()#(9BiOlBqnHRu5;5E~ zPliv9M~c+v^wxYzOCBs{P^D^7Tu&g{2i|){ZMj0^0{j{0&IX90l3{jfH2Q;qRncUU zFiN_yhToUN6M_^~E~C9zCHjVE&sliA$jn=FO${TVDHsn zC@6^`P9!8~veO8V7>=k(pX6XCGHno2k${A){I+;4l#D@COTcmZnmD55tXut+VJf31 z%fDY{%51KWQ+FmK?lsS#tbJlmwDl*YlNqxatZw|2_Yl32$hN}M=oBv`$iO6#nBe0% z6t7a+<5qI*$TxWI#6_kgjz`>nEug_-Er1NU{TI$K37iuATT_!UF69}ocI!=$f692! zhcV~3gp_k`apb_hx6*6fHOnH|tL%rbf5rV;*-9xFDLdRj>q3O(AAEGF>!|H zn-D^%(MVVv9&*7ijkb{J+Qck|3Jt(7c1b{NDeAz48+Ea^|JPf_2npG%K!njP92??3 zoLe&U!lyU{n?WCW>4%q3k=@CnWX6pwKp~i)zD;2g^)p-9jQdEXS>WFjxjZKW^s=v3BSxZ1 zHFpQ=O%^XH4Y8zsIr(o(#FMo&U5<915M?Tp7(6;!4|lRzh`bfWLhIY(7cx;je@Q=N z4SeD+>vKcz+u|S5`^8-E>+G{<$*E_}ojB9~=RFyW82erKu%7=q*?A0Z-b>;}m8 zTR*}hkt$U`NMl~%rkn@TNFB%J&me`vka1|3{vFphtzec8W*$s`W9hYk_hj++h(*Fp zqj-6vWERuv5lBXkWP1Zh-;A`$deUEYjtpX6+pL@&1yp+(|NA-+2+1q&VW%oKww+Bx zPe;RSgTUaV(||An5S#2JCYrc|KaPa<`(V6JzBWfWS=1d9pPeDmhcb3|N#)aliJ|Q6 z`9ebs(F;eHS!67!2Kngd!U6tacxb{8&&ObgEaYmdQ}Lik-1jMF{i8gsThhLVEqw%m2vlv2gnQ za%P&IjFuz>BhPAG1o&0_Pl^5^h=J^{=w)%TFsqdHY`TUb3T~G|VTmejfM(7*Riz33DXw~M6~`F8bLa6``s*`Ep9oG+dH zZJxO8K+3hG!gSD8;&pFr<~t^H`-`ak<(6OM+-fG@SXSdm`F-3X*AWQ@3IKPncpSp9 zxx}!@Q`+n#R6DD7oz&9TZU#7|KDY52Uqv-N9_mg8=!jf7`&gjcVzEXx%9j)&D0Y3~ z_wc~5SFr>gb7i)%Vc+h0MZ<9{H>5rw)55 zc6q1&Z3JBuy%sk2TM@L|@}CY4Rzu@JVx(p#Rtv!}F=kv5`!VUMkF!mz#$(w3FwBI1 zq-$O3cCo+E+)aAu6rVX*rW~-qeA4Msp@^VI>4JJYmYl5c;(WLT8PZ&5uoH;mKJ&@S zH}LXQ6Co2P5SBYMa3FERI~Tq|^St>CZ@b^C3}ty$(N_2Jq`*#rIY^@INS8FCb=fD1 zwDg((YW#O_+htI#b0;YE2O0x4e{N3{X<3h-egs2d+hNpNQ640q=A>2K7}>y9)PyCq zlPkPSC-Cs#iCF_Z{v-yzx}o?nOO_+!(Fpdx0W}PIJ>y&_F&uK6DI-I5iAIbKurH7y zbiTiuwLO|B%bwa31|x;1uG83gx44bP+=cbZzP2!|#{(*B`wkYgpna5<+}Z1>CMu&l z?O-`=U7&jCB(XPe6G;g$+sLlVU95M?)C8SQb6|M!*n!jTRZ80o>C#~|{`ruwQawmO zKHsqrl#dime|gXXIiPvU#<%5KolJSEV$XJjLts1W(8q~P`7Jmwh9F_rm#5^N{ETG@ zd)3iZ7^Pt=IduO;F|X{E$Y>a9FiNcnJ6`mhWbwuLFFieu(?~V0-6iGHu_*A(Ug4+o z@w*?yd%rYZ-0U{vExn!dey{P6@42T95+|l`=rQjT8^1#kiRGflY(Y3M8a6CFAGhLD zS@EcL>l|!t7S9XY=Z5wu8G8Cti_wxo{&;$?PJ-_JlOJSlnmU|H;daKT`Q_oZ!;Li? zCyHl|mbk~6mM$jy_ys>#wy5j20BH)AxGC3Z$uf>vUC^-?TdJ^;!l?Ur(VJG9pv+6r z6(tzk7^AF#hW1LYkxgVBl2c_BDwg68iyxT9g^SlXB*bsKZ>(&dbpI}J+2Z3+sFx_| zA3iPxbV&R5G9MoRXh+R-rcJMu+Yu;49I$~jegQ>#&vi!`fVxaJX|Fwqzh?&;>1DRm zl`_ba5BSUQGd)ZWOO*>vP=sJsj)Y!r1L)M*=*^rvYK^3aqic9-M{# z;;Ywdj?+tB;#aHy?+p_ZIF*YR^)zXKI}rs(1b1eT%=oy#oi;tp>2E$R-p=>ki9d*+ zMWFVfL{{Vm9DVi9-fLlwu#lD^Yw+p#yXV6BCd?39$Np|0VOsa@d`0aYhn%jY756?4 zr&#g3kLm4s?Um z*V>jI;7v!a#_CO@+L(VIBKsx5;HhRN4Hf zRl;}y;nTQ3L-ky8fs@vHiP|0|cYkvR5GyOKT0PS+5;cY49u{DS4fId|j zceh#i^|Gbs+16RReU)->I3NdOX!fq~ciYwnC|S%<(1$_V%xqUH2i_T^RZ(yCNR!Bd z^P_+_e{Dp2PCqhAdK4Oqa`&6kATu$XnQm;7)lbreZ?1p1k;NoE`!%$pl> zE=&Ys0=H7oEmtq3N+of$1g;=VJ{GkggK!^=2veB-yPLF=#>-!DCL}x@wDr|)cg*W^ zp<}g^dZzlRXs9wig^;bbhco&Z3g&PZs)Jf(8(HFLk`IO_CK^S(>n+Nt41Fe>&uwSo zJ3#r$^VjLNb5nE;?AXt`fY|e$q_YEpq6x&X6CI6e{=xS;DjqjU(5h#}bQFV;qkyd| z(!lzsZ0T`aj!$O z^)4fKkIiBma3KfS-yrE8nBkf?AIdd`9agSbeCT{?hvzt-G&?s|1+1PRS*E9b^U%lt zdI6MFTMukCpf6++sJ86Kv-zPEf- zlBHlt>_6o%nZ`z_OK0s~TeT~4HX>Rrngr@c$6aW_=0kzq#(LG;fE#8`AACVVU)SSk zcuQuZ7}_~%B*O+EXUnFDK7uGcJL#IieabHCex;AoXn@|Q#j9`NGI)ysE$^-1mOz*k zTe#RFHoz_*Qjm!w5m}$>4Re>|0m-u~$f6*S0&v9JK9if@;Rd-7+RH$k!YW z51`03n~cPG0ij2iFX{Z?rHdSxuj zMbDa9*_I>4$SLn0hW_QyATtWJVSd$@<+(1+g8!>MS`m%vC)A%L+Uy=rCm$*+m!Eo5 zGxTIN??em-y~dLzz2z(BsAt!J+J)fF;SBto_?_@(AU|{1u=0&F&Vq^;qA9pK4SF!( zsNd#;HErhcC}Q={`OapFY;PmPog~<>=}ak1nD*=nRq|HxmEkeuuli-rARiIW6Ou2x z%=(a^S4a#}tUliV^*bcK9aN_tj*Uh??^X~^*alYKhAnju+w5XIVzO+~CdGRcjFYJr zwyB&u$Rz{{_PP=l*il3f$U$*`RpwwP6AIz!Hi9c*Fj5jUhq)HOK8S- z_02S?@EQExSUC5KjlQFhHQkF;gO%Fgsq&Z55>MeQW`#4{@wme!-!2keh!9Hd(`8&@ zF^(7~x78#`yMf%cd8KVN6u`w{PaOJ_Ts*SxPawxw;xWj?Cs#s2;(eHd9T{`r$uC08cu%55h8mHznvu+B z>ABhLh3&W}p@fNub>0h?%eh5qg)3Ab0*lv>-7_TXK*67~*D=&7TcDlQ_(-bueLV6J&7tqy7=1w_~Ta5OBSEcV>A(wKZ$Z=x8PKtZ(hhcnffK5nplqXkSw3jWRc5d)V26zuw5LYQa zk-ar}OwB=}GhE3;{zoe(A!?=U5A|9B-=dhXX$9w|dOm&!|NLH2<=%;8AfX-02|sAh{^d&8v7dv|WrR zYQwAP+mE~P>N4T+M-wYC(cX<0Wd_ey!JBfrvKlv;=Nm4P9oCs5(QJ=Ij8ttLhkn?U zA2Ekp$@!Kox{^4OoZf;_Ui3|`*Ff-+e? z5WYy)yVeYGi2T0Y8fK@|3!H5AnIxH)@OI{UJ5y6&n6V`^ct+2*$~chC|A=AwbKc8V{^>oIiHz*W6cKS(5gJiiQW0j7weE^=_(S5lVT=}WE?b@lgEcRLChwvQ zk?!Umc+lD&>R45Tdg0VVudxgvpTR?Gy&coa&1I|0d6L``R;tD^wr=sQRK06-qQw*9 zTM~x&l#01qkJ4S-StKzRp0~%zNOLOM&QS@+RZ(8fUL~2gc}&ypaD6uf6)Xv-#R#we zVsYkQLU-tyA1M+ez4wYhMep*mp#1Ke?l#sOdZ%(IDr40F^qlFsZhO&-)bF}UpJ)qq z-<`*Pc-tY&7eq>t!h8QC8k=(L>dw+NOq}^Uf|Xf3X&+vp!KbW4mEhzlvbj>0z2_-`#EkE&Ue)z;2e8Hk+b(9CbxkJZ zYkpye>z9b#f~{out`|?Oz>K|$_9l;c*I~e;m&8+MQ|=-uOMzT&XC%|S zB3!kC2eTTll4tlDd{Ogx(GBd#n2ysD*6qQ4^D{sgbz05v=Z~!lv6!wo(1R*KF=!&M6l(q=iiJiI&kGexh@U$v z*7C3gSDfS8Jmg!BDJi&5XNaP*`&d|>e*pGrav?|FhyW(A(_{>oyC$|3zhQ4?8&*zvq%b+J>EAFJqJ`d1oW|DN%Og9eHmV)fPtRU5HE< zb}%elH2&t6qlzE7{)T^slU#oLO#$?Euugz4B^7rNMQkGFhKv{HRIYslPdb(1={A=) zJ4<;xD*!p$9}Qui80$xzzpECnmZzUDDsCc5y>6m|?C>r1pcHn?c%+Es*z@>ezc1;N zRonKT=A3Ne^epL@uCj_P#51s|CAAIBtN9_?(J8I{U{rEjaLTG%XJXM5_t(T8WxGKb z=(8Vu;Fj5EE#k-0;E~(T5(!nor}#2p+rr?DMMgr;ykgZ;LuT{|<>M$sk7q_adL~4} zTfJgYvtO|302vbfrWty0m#R}SXNYg9eQj_jk~5-vipy$zw01~8whmb+2ufR{&4S7c zS=KKJu69!Qu2HBKf_DdJ;^m{#3`rAzw$|hSARkeRDzwKC(H$T7&|c4Q~;)&hC`moOEM@kj_bE) z<~$tB7-%e69-SAr9Zs2l6ae^{nrzNX&ldFKl`BtATQ&gIxl{DP zLr~4 zfkl-H#h#=Q{DDrVp$nYGs4u9WUexuFgUKWsxG}3ADyfQ&xT9^Mr^AWEu%4!gI~o8?DgCZE}Wx`?4Zl4&{K6}3E+W@_-CO0>#=JJ zAHo1~eZjAj^lmNl(dY|?7w^As``}Y2PnGQPE>@+D?r{5Zo6d}P^DYKB6)kwbA6NHI z*k*oVrq2nJ(k|;;rW4UQc`pR#I*5 zu}mdfza}d?`Cj%uoAD*X(xvIDrTu=M`Gb5N__+13W#zw}zDyND((|ceRD}0> zGOz3cQ9blA-;QyxQ4~bRc75N}+2~EpXbfnzXB51iH2L#U|0bJ0Z<>JkNV*k>Y{=z; z0rf*%HI3!^c~)S!NR@E2m1%D?rDyo+P|Ags&#+sz%WGo zMwo;`5`9y!1C}FHLuo#~xxHKxcZ}#y5VQJVy3DYz)k+8e!f@@he_m~-!9b)$i!EaI z_TtMNNRlmlaEUlMW5^@!op{yO-NqP*D4$iVbk$r)#h_kDAb*I91Oi(M#4Ae08UL+Z z9A^C~5;|Y;*52Hd6#11v=T)0_XMd!D(&nt7CR%49)ss^rin+ulur7x*E zM5PYBmi~=6lRl#brpUMOadd?IkO1E(O?{1{nki7p$U($!AoOW9sVr$*A7`CVq5kzi_J#nN}KBsv4{ifik zE@q_@9}U`Vb>}DoKQj=XWd8CiPo-**S+9ba>gOdkP7%JCjb&)DBs-{xj%otr9sumK zk?r=_0KM?a+jnK=#N*$GinS3M65FKsa+K+CJ?kj@XgeDHM8vL=J%6gmVDDk!q!_7foYFE@Yg$;0<% zS&rYG5s_XyyJy_A3hpR6?b{R)r;nH2^zjTBi;kyVLChiN2H;?YCEy@k4geyE_nZ)Na@y?*o zzetBcBMN{s>D)rlyI?^*D(C$!v7}>-DG{;>$5As0Lsv<{fFG9Hj59aguc$^UQZX(E zfks>lH`6IQyLsp49^IsBw*{pQI9&eE@rCrtp5IVp81o`!;ut_2D&>3(nH71`P%>?X zO}CQhD5GFKaW@U%H^=`ZqBSmDNnZav^NqiurP*k^&hfgqOfW817ORr=Z1wc-A$6O9 z3;H}`G9=(=RrZ6QWU`o6K5@Z2_G61fcy=N0P+z(xkX4@idE=7M{2OzbiOXH5WZ#&U zz0AwEvZkdo2c73wiCcg*zgc5lWP0&9k9O7u_KfLoBGbtjBj$Y_zLPp5^4{ziYdKqe z4}K&8mn3_{ks#W1{jz6!l!n*T{$dA^e1e<}>Z$x3)%uFjwv0-4i# z9QRI>lI6~qeA&t~fJRN=9>c|643iKgrojD-ADj zmXiU#lWE|^yRyLaPB4qjR*0l?^!96C?z}Ubi3Dgz0WsZOylyIlU9;$k9ve-WbWXR?mf(0FYv z>K?4H)76h~*Xq$`n4ZMvyM)JCL2rmSSz-`QwFvEAiqkzgXo^aU3#WLkVGzvv@&1Pb z@v@>x-;bIy^@sQ-Hx}nK%V?Oul@ZNF|37kj3^P!|1~${H%?PgOu;+Spf)F?=|C>z|%vB)9qG(KI!d9Ht0$*bn57#A+Go z<*u3l&CWJfVybcNtRbHsl5!cx>S_!X9a=6RP7e8oNbMt79kDb*9dDv-Kacsue_3u;HuO=W-h+o$%K!9M z$2I(Tq zB$V-Z718}ba;@xZl1P8cCMqml{R?nF_fFYsb3TYoOA;98v zs}4-5#euQ&HepkenuAs5BT4Uf|0Uoo*~w*TCTqSyu8m$8VvLT~F)aL9gwGlUyr<`r zs*@ojv{nEkd7}%J?7crcpVlOm#ZCAqIODzWTyB8=5LT6k&@}55D%uKGE7oaDPS=a)X?@h zjJ$u!YqdM2`6=@*X!5c>`RWj3Hdr#5ny2mAt6hS_ci2LiSV3+gt0H5fLiA!T(y+Wm zl4PQ^0gFf~Uh)|{f38ExSl@g)aij>>1cHb`F{QHNBEAoZivOjWh~5hrqo`H6*)WcV zf{zk%&Wl$yl3N&fVX^1<;8f2Ep3VFmlM@w3VngR)2&-dwUXNA6(EBANBiYsLzQt^O zLVwK-23RTxl!Jx^Bxaj&`-qzLI+IH$SxfWbA}W?DNCq5!6Gc>c00!eG_l#ai&yfqy z-k+!+rWOs5Q8KN#WfToo(t#VZqkhF+T3~2jTKdavtnE{zWNFT5PWsfC?OrKf-D&>0 z)6|CR6^-f3wrP5gdNhiE{CqMJFO0SH0iV<@{Xp&Qi61FJKT_vX7*HD@V|x>U+i~l^ zdE912|3Sy?s0kDZsTkh6-q5Z*b-q@Zu5K%+L_rjW26Fz0ry>SVG>j~1@Ad$^)lm(* z^@C78*5BA1EaaC~XRor|E2E(kY#*nhX6l2QOpV;FdeWN6<7oeBUCiKPMf*x3KWF2b zi}^~I7(Ij?g)zV)^+u4V86^WhiU5A!q+WuE>+*?y2lsadLTE}*nm`cPpSf*txsRcIqR|^=i zf?2++ww*K-c;vga`^}Pjf1*$k6vvta@`98}CF46stP^M4xtvJ{$}S20Jaa+hy5kRn z$c5~Z&G%`7AvBz|eHOm<6J5fr!@&}EvqF|jevPdto?<|ia}yr8tQsgo>9l*iSci$C z`JnNDT%~N{<|WmXU8c{dC?{6oR}Y^YOuc%=*n&bgy;k`(utpjO(Re zGK{kn(0rf^Ibhd3*wARUX4*ee1r|zrhx@sR-k(ga(tu#v{s~F#*<=BaMSG(A|C}tR zF^7Uu?G+(4n?}L~JxE^&q$yj6DNGxQek-XxCYx>Utmksxwv1 zai!#b3j9^7M(c)m2VL=&mN@~Rue*n5y_S^W#s>FH=r0(X>{`h(5u3fueUYWnrCNS2 zrRNgfKcnqT4=~_=&hMvnONSm95Sp&-Tnykc1kij-Om9~+Zg6ZLd)_qPBRY8pUJhyZf)hZ^$!Mw zbata&q|!(a-DY6cAH}B*yl~mgxIH{UwVX^>K&wB`3|yx@y-&!(?o1<7+DJ~J)>dN< zrizMyn)^Cq?ii%>9bv=a~9k{l2BuL6oh>E@#i(Pkp_boE9S@$8vz`QNrWXl~DO zYRroLcES7^BF(Zkym~i(9qCxG8K_~6V-gl&3}eUe=$Us|3dsDnmL-dmkUJ0406J|l zt-2}-i;~^wIQBhHY1II7Ig$of&o}_Q`>9(``)0HM^(|=QAj`;&Tu(g6&bZt2dzEQL z?{-^nYKQUav9?`YwN1ZR>gfpO%2yJx;;@(s`tnHuU%jKhrJX-QPyPqK1(62!%emBkMI38TRcz z5Z50LIY?S;)pZPC6P961#48oxD_u)7BMArUH)FaEPEc+GB$YbK3t5`uHj3r&Xb!$$ z^SuYAPXkFbU}}17hUM{yF2i3&mit}0Uxn!ij-Oy06u)}VK7chLV@N9ncvR*A$p`@M zzbM&PahwiI4IATuxIgA?bAsEjnei)wjJq|=Ov`)|YPk*;?F(r=8}2>}9cIHxOrp^* z-W0>xVY6VuVz$i#WtR%O#iHOhCm$I83Z|93&SA~_Qb}Zh z|4~?H%!2aIa8#u-A`oMBBH+vT&_9;HctW>x!pUkk zO3z_67X`FyKpnWsjsns=SqrR61b%md3+L!!^N1tzNVL^W+i4z$#k1PA(U^B(=PGmd z)qX7BIaHwyF3?ZM6Vem(=Z|?Bs8{l^B4jQJu`gmG4eJL0y#GC&ud9SaRB)AIE{NmR zrMX|4ONr}US9v6$zQU`;7M@yH9F3{>xS5PaCEpg2n%s5q>J4}Tq{Qew@Ty8BiGvt< z3$&k7QR}T_OuIP47v7+RpdahD=9hY<$5|*Jt;1@>@8wv$|6{FsEi@yE2&AHJy=+CD zngZ5Sd^*HR03o;R;EN4;>$Mb%_XPRWtFNNgsq&`qKXz)wEB4L`t@7BW+beAir@0-SVyWo3m{0mU(k5Osox$5XL!g&K!*4=A3Y>?6A;Vq-n1b> z@T!ez8?-bX8vnRae_z`0GRFb(Fpuoy3U2<-Xte$0K5kgC%~^1`UHbKD{ToAz%xjN> zgjbN{)`_~i+B&vqbmf=b#{T=(k%R&fEEHxf_%C-r%{o9sgErZa!ifu=zvK!+J_;_)7yW3IC03NAbjEVt;rk0F0I7MiuTE z!2RQ>ax`ge$9dmMBO^af)*J_$g|_N@Zhx9}XrKwqhqQ&-w1nrKPk|_%8mB^=A9X|Vx&Cv} z4Lf{;&AxHI*7ZF3OYNI>ZgVhY4lx&>ZMt(=9Gr#ptzrz;!*=uVDrRL9RhuLd@*lGf zGK79+eAhOfg^ZE;bQ-0g>iDSOX)lG<5HNP>SIg(KVl?()>s@?V|NF<3!~Ek0kya8} z(C46lG3AQO?;}U}ZAZ9A@xQ5Yfp_h~x8rtj{Api@;A#mPCOZ$y)fgAA!%7LVnwd|8 zSU{F@1!RCWUOyV>10(q#PMBS+9RjzAZ4K&M^kv}wjq=fm!_X~x9~9v~>G5Q z$`T#72+2Y@u5gq)8(IB1R$5%BwpBE=%)CAwWtnZEF>HAU)KG>!I7+V1y>t*|UD18; zPVfGvB^vh?LAfqv9F6)?j40~e^un83+EosNYfVHq4)5d1OQwPR-XL|Q**oc19RSP2 zg4t<&@4JjcSh4nk{`bj<1v;u!H60PJ<%Y-6`hQOHTZtkK9_SkU=X9BzPS#S!@==Y9S%D5eX}0%nhQUdh_?h1uw+y?FZbruf#8`L1 zj~faRCSjH*UoW*z^YHh(v}7Af0Ga9ICAuaqe_4+t33O=-7)bnKN`%5rF9WBi@*d=+^611L+_ z;rCm?Y+l^lgsQGD(F_ZK68kTPK}NXT62fhgVczzZc3s3qSCWpQhlf|+U5#}}qw-#S zupCB{TgtO+9z44mUi5TZK3W}VTSxH@G00VBQ)=-{q<#Dn(LeT3=1s4JAgsgXB`71> zLhzc6rX%e1K~S`xLu!opZ{V^Pu%Zt-&MDK7lV!h~AakM}UkzG2oR+udJzll%qC$!nfC0^;eNo$F(BT3`Idm2BK zhtI{Xcm57u=x$x_quF#lKSiD{>zq~b(7dNU5`B=sG2w+WOP%nO51;%QGY80v@i|!zDsW>Fd_4j9eHBQiy^63xS=tu^EK7PeL#RDB zLno7wui@kVIR6y~*yXCKBHQ<@wMm+8HeuZQdM-`27malXV2eM9;B0*Q>({pX@`^ih ziJXKw`whzDq#^nuVywqvyBjeK1jR2SJ9-lagVfT)lCf8MbF!q?K3V_vBXZBSt_IDH zQPnTdh*{xJb7Kddj<}Cqc9c-VNUp#0(tzux60lMx2_D0*F$nG(_#ti13wie1koJ`R z2xOJx;>$A6FR+|Z9ePxi=j6p>%DUb}WdenR6CmUVv9cV{hXppr|;R4t2-SGf6`THV7Q$|`ZqjAn3{H$KA0(tA3|$YoY5%Xv_P@GSS&mobolnxXjvAQ^%`ZVQ%axPsSn)K;8Up~NL6u;Z zYupAC1kP?1P#wj#LQEKAs0loF>vZ0i9t`T=mqaqcB`-91;?5j+nOf29|Eo{#UEAig zYxVw!`z{^j$A8pgl-xXChZwajUA0L+?^eN8%z9L=_xW38VWhE5<;wtsAuemS&o3i_ z$%Yvdh0-wE)@;Ub^7CT$ASt-WZ}wObX1>VKUadU%hl{g z=pum26A(o2O0EuE_LQuf3Ctz=g6Y59Iv;>nM-9)rewoFxgT=jCE6n_C20mIVB(hY@ z(WU0qy;Bt-u9*74Kg?B8;AQ)uN9}-V@>v{eO+=!54PTPT&oFkstL1P?n(>_yR5)o1 zA-RupQFCv07Wgkgqm6|}k5ZGb!e?`na}-mv7g;CZX9u~Ffo$f1wNAXiRlc?2g&Be& zIS;$IoGtC6ZLdh9OxZcNfmRCT$_#DQtAo@fLRlOTR}uSO(06HVJhQ3A%3)ra0!HMQ zbsKCZ(!F38&7WLcU52lnAIb{3%|3tleOy7toENW;CGkU9Mzi_de$kVaOIR-LYI+SK z_AV#<`FY4~-xJ!dd0Z|94T78rVuQj%V=M~;QFt%b)|Z^0;JIC=S-46tZo?rF4b!b7 zZV4c{aMEp1LLVewv|O~T4m`f#Zbi@idzMFEe-!2qE`a>fP=l3_75hb`;bNH3!b{M+ zULCyU8`8BY#W#OuaK`$F9Cnp8bA&?rM;i6{1m10jBX~Bv4SjJwZU04pftdT5dBk6e zr2aJ;Z={^C3&Y)ycefn}$qawnJm8C6Z<*S&xSIJ!#KTps;Qr&W^MU8G6;IpH!8byF zjmKMY*a18~isL;+TyY{7$e=!+(r4+OJr7WULil)BeI-ZoEl$^O>u= z@L9~Aw9Pv~F}a_;>0qg@HTG;+VAZd?%DrlL)HlyBUq|b@%5S0VfqDI+g&~NQ` zTD}MBAp0KkhDh87dje)=z5JTz5mI3tfV0t7uQ$R0zp?-HUNhvZc<(@0z$#TRdmY-l zMOtdLuvl|69E`Oxn?I{8JQ6k#G}iD~;lTv?_V&{msEV1^kXzv>aLh;GpOARKB`0VG z76A)q1+AbLgPeZkQ~0ycL6SC?K3{zX_`0F(zGPs-@*Xq118C&u_0I|FpRrOksM~YU zs5PIX8@W*psKB~RU>&DNt!wvyeVBGDnciC?+9X9QoW~E>XR!>efc6?Z11VqCo9>!{ z+d=I%y~eZUs%iVr0>J2!3`=?T-R97+3kK+`r=RiRE533?l~bWpe$TT=u>=PS_Q+m} zCvlotx}w&XRiS!rD9>?D>YYQd5%|CX5fjYx6h~>?vuTVfktJ>h;*j{nG@)W&g2?w< zXu98TKY1s{7Ix_%a+=Pgm<_}t*JAWgq4?Gr0I=WnA)-bU@m~^j)eqGl$i2HT+WmR5DTWJWl#{v_HeK+3TXQ z$-wWV{(Sn7t&dre7H(XOEdcceVe6m4BJ|#|dXnE-ANhKCtHv=-KZB|&xvc!!m-j9* zz>MtN`sw)`N^RCr6U!J-$GvR_w|3KHmH(FEMc#AsR_udVH(FBj-gZQ{jIrL%wi5ZD z_6D{v*)?wm0E1LL7ZPi^Th)OdMHlTeLyYtd$^M-Qw{J`4v_CEPQ*gz!RF3$;lZQ`g zk3?1l4}!x3qcI!>+lJQY&sv`-dM)M)hgUcRYK^8%6f)VLgML`Jbk5lplp2++IJNq~ z=a*paeE|I@DQ~~>;#Nl%3d3;X$2?by|KKp)&W)}y&?+CcVQVsWlB6F&xtD1$_+<3R z+zld46kUCKYHm6!p2cfnC^sYFtmM!2LW`0{k=7mq(uk2jpor#u_&nei z^ypS+#&@hG0~Hf2G50I<*S+MJ5^w_>jU~Duo~|D&2F`p2xH4nzsJ2O z7>7Kcpty~!%ye=%Z`w_wYyEXvsFEhwqAF+!(Hyt1R&QhylcuEUN(qoFf2v_c7N#9T zPrqg%{Dkl;CPZI*c>YupNlHRzFWUyx)S| z+wh-)U7RTRK}Q6kS@6(FDtxdY6Iff}S8qF`NPPhCOPz8lt^LGj`d!kpHkY~uKWdS? zhA>czGLu#x^v1nIS_`sLxo~GZzG2Syl0KruLJjxbI)cMR{YmcLg+LX zj0KBzJnO4XCU?fn_iQvbE0D8MLuIJ&%J+Qnpx@LF$Q4xQNn@hwSCQJ#{$V_B5o{B# zab|f!Z{(NuZ!Gza#q4T&FWb;J1(oQAgS;76`}z@&W0Ru~MnN+MMd6%z5yl9`<&{JL zYo4~um${N67NKKq!yBpXB!GfWTkN!x`8&^WKPhl8T|i6?cNfD1faA3TtOU7t;XcCU z&tmyO;&RM<^iF1qbJw3CyBm|4kxBR)0E;%iZan*k*tbnFFB1KPb9hY@1f<3Z zdiv4%e=<;vY`lk(Ljk~C97nOTT@9W)O=8$Jhdj}uVLpocki?g@_hM@(F%Icq1b?mp zjFNx)pZf?6c_1ku`CC`R-Nxf!A~L(~82Q6>aI#JN2m};D{1ADbJ%*qAqASVUW#MGK zfabSR^&56AO_{N;Z*?z@%jbM5uxTJXSu9!PIOKFf##U7S93tG)`X$>i60rujgWY4|0R<>3Qr z>3bzptR6ibFF`b^s87Oh$v>shSQmx*t>7VF;mCFZVuxGC`_IDzz7ZQa6dmGEjO;IR zyodHjFZm1m5gveU*AG;v{&#L)IY_l6-i=Jz5@%!3W9GK$Bef&9lRbl=-P{n{ahWHS zdc-Deap%3>9`3_YV+tay+S&TgKwi+5s#m3Te(Jw(e8%H;DMM{*%t$BjdW>t*toh-^ z*z$KnVcw44_Y$dM+%{KapUkjeaoV)s<7V z16OlMAL{J3v$pbK@~C!be*CjH0hGS1xf0&Z-ARcI>`La^JzIFQql($CvhzFc)^3>E z&(pAoolP}?3zFE>{F%R`jrx)k(qa}@0l*e3u)~9bg#6z8+MZyu8S3cyxnIcQ9$C!q z^Ey8vd#{)FTVeg3YDw1=((ej;pAFO4G$`2nH7D#j%swNMJ(b3qebQiE$`Nko!8*XD zb86%BV0#Ic8}byxg*z#N3F+3+_j4YK6s+Kj&efz6@VomPEolvp_OXbd4OMseHupL2 zfA8(G3~f>d7_)bt+_rind5~7GC!2N0Wk0{kwC$`__gUZa9lDQYYk6b3cbX6F%y0wlN|0D{v_Zzu3+qmEd z-v9dZS47j2we};(d0!(wIMeT%J2E}{WVH%h>(=DwL-?n?=Sk5yz|$w3_;`LH?CTDshzQvv@xCA$0*xy9pATInzbif`iqO7R2v4 z$H*(QiQdjt9)2?xd*1)e78(=8P1Fh zhO54WDpv5c_S3PyO#!jiAzV#<#~sn;$KLLpAw?yHhmjoV7K)|3GGB_zd27aHer<9p z+yv+)dp>bY?zdO{+ z;~V+xJ8!Nt+_ism!{YzlzSl_Se~;9Bj(f2@6`n`h(t3W0nQ2{KxI8Qf1D(hkRO`~K zN$dxzx_#%Ia6a)TqcSF%*d>XynTxBxgOy|&Y1*NFI=~bMNU&sl87paZhaClo(PBYh zII{Eh5T8wq!TAYerx7o@4)vT~rzBzL$FDN~w_O#qReK%Q0BF;G1tz`eR!MiW?&rpM zQnxzv9Ucehk$=O&S3axm$p_Rb2x+T}ANfU$S-??y4{}Q83Fpje;L1$)IU$)m^i(Kl zV{&DR5t~IvBHMo**s&!r@@90-WpeB6Z-pyqyA1gLM=^UE^gw4nz-t-kuqC z`U0lX`ZGqBC<`m6Dc|a3XzOVXb!n>KOQOhTrT;(pDX^G7f~`I6W6T?y?X}=50V7Or zN&MvSQu^;9uoDVf!4de!Ko14GZJQaAtIePRe=L z>nv%;yK1WAGeD~4ncH__!{3mFo}-fKeeup=Cp2AzC03-)#FMY|LAmDd-} z(wGuIicNh65i1~W*AhvHG<3-oCfoI1qIjl$7r6cc??~Nv|J);IC&5I&No9Fjwg}P1 z247bNnlR?OPvbMu*)0TbJXv;X0XCRkgrBs8Dna`-=$uac-^xlZQ8IEllK)%Z>Ibt@ z5!gNoD@o;pRRHQ+uq)E%6$6!hGUr_W#)18RcbgJQkecyD_PsOsT{uK9P{rM&-{0jo5*w1m{uhz&B@^NXuyc~j=Oslq!k5kL@5F9Z zz|pN2m27X0FGm^5A1U?HfC4r%F86#_aEvt*1O`(CguOZ|BHl+Q+4%hN8Ir{vGE}k^ zd#28(3rtj`4I~S=tS#J2@4^T36#tqczV%ll=vZUVoOwc-B*18XJ(x3u7WP~`;JgK= zc&{BH8|(9DhO1s6CS^ZcVZHK9d2$3z*f|G}9b%=ZYiQ<96}%ey-cac$N$*HB9O8oq zCeYPlED{#J$9Uu%vQ1;qLG13MP*hB2RxzMrWGYAU#Q>vA_W6pmzSqzfu#YHa0^Ln? zjF=^T((!NLTHAl;|D$1$%zL<#@Ct2DF)H*^d!YkT#xjp!NufIT!S+yiy$gufUTkAJ5Nys@q?7d)o zBsE4;{=60sYN4+*kP^m*|LVlUdfouc)pBHHIwPJ0^3iqp(jv|Wp-kvbk(MuiYNjbw z6#D6v#cT)VE}V=0g~S4PoCC8Y z0uNRUv_r}MO#vaVpAFIs8ZPGkl=5dKtMM+iIZAHHXHm));K?;s90@BLbn{Vf+`QPB zHlHY3A=g{Tjs9EUlC)|&*9Bi&Iwj`%3=SeAI8F)Zu)tN$s|n-P#o4&n7<#3x3=(#m z4Cllb&u~2LTIT@v)7G-HmKp-Hihr}Pe#pu1jo^J2l$1`QK1EfdaVIV4x>2=X(6SX0 zDg`ihk7x)o2^3H+JZk6;%|LZSjuEP>)yX*IK{yE<6u=39|*S-M6FHe9V z+JBwuM1p68_WBFlR;MMjZ*%6!zw!F(swmOzw7cr~>HS3p-OEA0+2%=+iyk8@Qs`4K z>=##S*i`6`7n`A27cnj1w+HXZsj7kY^aPR{dhzUhL+UGZqVSzN*Glc%Wfg7sjXrVL8=n3M3oG-o$LSmTIa#Ds0vas(lN(IyY+!4;<^C zR|$tY?+0>dz@_s0#Ud8}hP&jw5oMYKtP?2Or>-b`?NL$w25SMA=7^1u9n{&m zTicm_XI$`g{?iRUgj9nSnPK8JQsWV6MpZPo-nl-$Fq8Az0rPGb4nRBdq}n&^$zYdUMWdq3JuvPhO9 zq-Pds+}5+LZ{&?z4Dh{vKgIYkN}WGPa4%r9(+SU<)Ih{$URnc@mF|978Smb#FR&>g z<*Ff}(8%@r!(*}!PjTkUYa_yFO)c9hrI!XeQ;B-9dbeU!9>{uqJW{wsOn=u%jF_xD z4@DNhnw#tB>u}ovK;tnJlHD*WjUI(oBY#{|Xfkd36Vuu^4p56zc0SHFOx^Eloa{11 zNVg(qX0xUL33gCig|Qr#ypR*9*M)a^>55e*;%@Xk#1K$wltVgXk~~Kd1Pl|wCVxgO zm&LpQh_Hr;u&(Iyi5J2?jqFn^y8GxiUPyHe&c?l3!Vb#INIn!iy1#eg5U)53Q2s?p z7olexNifWiAoOK(>>w+}cP;R-I}~I&y74&g@S#Lme*|{XqSV4 z={$!Ki!Ifskv5`!Y(sQJO0G|9@ThY>SIUP~%6OhKRL#al4hSQ9PJ@3MRzhR>3EK9O z7G1;7Ot}-nnPA_Mj5o1Q`aXpV?>=7u1dIlqx;yoqyQ6!{jU34iUhIyhC-anDH$+17DLudwc%P!sWf@je$#;UK@ioqMajnmrQ&xB5O~1m zPxZX8kvc^7<3*X z!vaP*fOfaQH4~)yIV~8*xU&ws-+cT@R{68F{=@WjHX*5Sl^ios=YmY`3U7PS(K`v7BfFrx>&;~2Y-YdzUc9#FIvda*#w_GIG#@Zx_T;Hx2Co))=)h71r? zeRtT?SZVmoarKH&L;2(RtFf7fK|hYDZ+(e^1ZY|9!Pq2pcAs^B5A|twHZGrKsm;aY z^JHsAqc!9VhoJfeZlGK>ScMpKaQ@+@TMQw7fM|Yt zWlYEi8r>^4&TalBVmX6Ons4||JNv!Bbb0&?sEEz!Zbl;ZV!--$Lv25~rvSv-i$IOT zj&5C=g!5is;bMyD&ijeIh7Gt4of*W+XN!i{Ga4&Fr@LX;z?n*|B9wm}S_zK--zT}} zMe>lv!c=u4zuffX&S4%8Ff<#E55uWIq*oJXpSbZYR#V6+uqiXb?@$U$l~{r-@5V+ z$2@DnRz$iyVtz|A#@1P>UZ;7U_2?GMll1=!6*_`9uMm?#FE}`36GnhK`>KXsa?kvS zGzlssUQ@dk!yH5&8r_pR!)3g)^^^;QL~r~=JJhotS1wgN&dJv)+~O=eDh32!ddThv zk{_sBUd^5`UUwXM=I|K9%2hoFSLctWLhlGV05Cxz%!V9v?anBe|62@-5&7vx(S2GL zpYP%STLb<7KFeK}1dl#_M$Af;^US6nCQrK*G9u;wWPV{=F&3L*uiOg}|F zlyp80aG4;E`*>QT*OT*-;MFn{R+1T_*}zl`C@QFDFbnp^DbYZ5SuU67i(9zE*YE7i zj({V~Zy5NMWd{SuLyhtuka6Kl@fqmdPGmW+?doUPZRVoZXu)%b_&u&)32c8ZQT^B1 zeF#5b9bKIGp5x>rashC#Vx4(jWW-^A_u6X8P1=Oh^3l#9Nc9zL-Dx4yM^a6uE9eF8 zGwoYX=k~^8Grk8QYh^ znx~bY+64QSQ8-81KKmW^HSS`dh}afsH8Ww*oYpTn6&Ho-hIznL`VDo(Szxx$I(E`M zu|l2gwF&$<+cDaE7pYXGb02*Q2{=hQ#t+wbhN8`8x%&9}BC9ignp zk?s@bE7SrWk!-&eEWdX?@C#j|&e=GZODBYxJDW&$f;2g)Va_(w0m*nK75D-wFW~)%f==vl< z-Jrk|i!eJ-1%V7Qhyw=TZ9rWB#Hy|E03NWo?&MxV)I2iCvgGaB5FA0~sDZm>Po;&a#R zFnY!pnBB*v;`&HsD2n$Vz4aKBEaKPJqv9nWEBGR{PRpXm87$nBcJ)z-ZW+xrus6t`wahX5}zF>m$zW%3OhH% z?;uRj-caB)eN^=_aW`_A_w%%dh8@xd@!e0r#=E%8%+CcTtfAEUQds^eS+MnGiu$G_ zHKDiT2US)sI!WkS!Y8mpD3?UATCCf9|H%&eA*1W$xGfxZ3w)wPdjr_#<{nt7T_aUd zpu#Xi)>P=Vi;U0nTj%ez_6E+(E4|>LRtncAH?#P}^Ff$&5kL&Re2I7X8IQ`Q$poiA~)b`{h54o9(FYC%cOn6Zqqny5Z z9hFe`2XIFHwh}xCqe*|)<_iHUr#tf1?C3$2$ct-#C6~6)Ag)QKbDc!>9TJu4$;eam zVnsaE;7g0o>^~wBIec9H1HNRFO?jdkpuM z@9V&9gS+q!{X7vvm`rEn#JAg4>_7v3oO5R#emJIRwWK)ixXYyCjS;(86e5mM?xQ@){2Vv>Vz2Y%u0(Zdv>c}hJMM~IDN z+ck*bn9B!8aaDUCRpnL!(*xEYMO33CSS?S=t?%+6vU)oc$BP%u4|>O8?9Bl~y^B#w z1n=KYXPh&UwW9K_rtp)m$mjxo?FQEaUqE~YPg=Hzb>nP)3&S+PbI!4SiN|v)Yuh`*3WH^e@Y{-JbLzGYw{}W@mU(8CrY1 zR9UT3Pug?bb9^2f&5Y@!hAkHb;A z<(p&D(kv{M=vD1~0!elUBaUxFPzOYAx^|pMAlGZADi0;&Ni>sncDBpfT?Dg{(gIq2 zJm|wZZWq?^Z?OGiFO`%<1OlJq-a)~2SpMDPk{3aqMDJdYQrUmA z>#pW^u*FC$!voep1h`Bmss%wHHlNsUj1m^fSrf-}Mfzb~)2w1`g@>XF;Mm1hno&;R z(Ma2`XYW|Wx9zXgXYo%!K`Q`bk?$^d@o!~5b@v%P-N*S)NmQr$BSlb*)AoGfEjP67 zxJ9wr2<6%h!YE|9x=XCQn;;9@pgI6GQ6btLm2AgY5`q9miPf;_5=d)t>-OzA4(6`` z+^I7Nr!Ma0Z9Q}Cmo2LdhYqzcCOCQ_Mp#kGxc5{`Yj$PY0X08>B}pQXvsOC{QCzk> zJ&&yd;%P7h>ed~JdI{=PcK2Upkb+O28&Gd1{1g|yWomQU?P3bJ{PagW=owiY1^#DN zbEbBJSi%#fV5xmo7X1La&Q4uBy&xG;{rttpCmq1n!NC1f0s2MbZYiD79P-pFi=vS! z-qTKk{lI-(IFlSi%+jk@z|U)IiTW{&4>6?@E^ z?e2cjYzPxTu1W<=$({@tG3>=d(cBhw7xKP^E!vfGZ-0?V!>Y>aw{{jy+UyyVeL4WYx=vcIY_d>ma5 z1#WZTT`I~OQN9tu{0H1zcY!+^z3gE!xkz5`#T)hCVX z)IaIP#&TwAXmH%Szs?uD3~5J-Iaob%191=RJS(<`7L&kTbQ^c->&LUhj7{*G6H`)q zXatzhw#W3U_hJ)Xd{H2o*GWt1dk5F2 zD1^|TP-aIaVoGKZPj(QDRYZ3G0O-6?lL;KE1&Q%UWO|796E|n8pw$K%|SpB6Y(#O`tBPLu4v3M3I8fa*XwqB#JPgq;I-fzgx^Sf@noC+E5si? z^ZI<<%dmN&Se7=7ph?iWmqC5-O~-ZjY32`ZZHf>sw_Q$!d+p0i_6^DX{I1|qMFZ9d zEnQ$gRu-}9bfU21!6v67H_5Bh@ifxTT_#;>JyoksJ1dugZA4yFchEv8EB!57W-Lmz zOS#Yzyz~Q#0yGr)edtsVSt-!+hnO4|+V)CH^gNh{i`*G7F?hijWD*$p{6VldCfn9G zE_wYs55d?tuo>2^*YeAFeY{K@@1L+Jt|smee!?xOZbT2 z(;|4S4ZB<62ZgU*dfc=J1z$Jf^(+F8lWE1-SR^4}V?BCK^(E%X=iX0LI|=(6sxF&i z{WWhI#ILyyJ1y5OexXFQEAfJAmSLt~U6$vjdjEo=^}yfXunX9&#kXN*OJ~7V1nv7r z7f(XpI`<;BGP3D%Tv8ey+W<4A0f;0q`lsD0e6zIKO>v7VISWZEpfEY$0~aeY6qE||Rw!Hr_+ z$N46%LYJ2`KohdDCAY;AV zzz;%2MZdF@eNAS)tD!0cc1R7Dg0W2)pz>PP&=;|)13m=(@tx{-pY2nV&)nX+9)ryD zO>b(oPhu0{xOq}Gw~7_2S|%(73%*BCa!9cG1Cvb!n30L6PAJz-p({;l@UH;-%TjO{ z{DeBQK(>&#qtfj=y>A32s72Qrx+UgSFM`7;6DAIYV)V1;J-+A6RJy05P%dn|MLJxZ zT0KY`LFN-w5rMiL8)}G0uhNke8&aL`*G zV__I;X*>&r`U+JekM}BpLic2cA9OWdprdwxMBfasifjGfn7U0X7)|_bYI_35%RCPY zW(C1Ne4D$AN3uB!MaYyd6v{Gt2jF{GvmB%&5P^W9{=#Dlz5Pq!{%sC@jJIa`j0PCwJWGx`wf;Hl{2K*gAEDx7JqpKk-~x+>T?{qO5Q;E*KbyLQ>a>{qwlv0!Om zuaR}n*LYM-=E{;=L(X#sCS8Zr^s9O58GkvB7ry4d_IQK$JMtT>DtLNJYS`{SWaWo- zk}BzCb4Z%-Jk_|h;+lHqY8Z2sqR>qmiG0nh*= zRjcV*r$YzYPIu^JB6pB$CZ&uI^W@{or4Q(K|}-A{+jj2)e;Mo%*Sr+K}?O_4deJk zA=LcmOPWG0h^aO2?t7=hhTaUZH=;BTR5Wp3d4u&I>ghcqoGN^Op~BaN%ej<@4NF_k zqk|FggFKp3DBp|DM;H+Ai#XTT4qr+Nm?5%Z%*kwdJX&efR?HI1qy=|Z@)U5)6vwQkZ-bgWVY1$-ylW`TYjR9>EZdbyIjpbRiJA z*N5o@cQ%$RxlV^)fv&_V$9d4uxZpGb$NSHxkFidqVpu_UgwkFYG5YhwJYUf3@<1KQB7Os8Mw7ZyCvmdT z<}q2G_iW=gA#c16M6PyOwLUy=V&C;?$lof`&j(Sm7b=Na58yRa*EV`d2^EWBL=!V* zsrxx78o31wt;h#g{es&oekBDYf)vOQN=)+e=wfbT1em+!J9)+-=SVuigP{q`cwN`Y zg3+i^x9w71)O{B|bci=<`p3`GEB)@x?S3iV(t`+SgTEtmp7U^l^eC7Jvij1N{4pkS zg_9~E9y%hK615Zgh0WCZ)7Q>doB!>y8j7;05N0Jb94__L30HY`HEi`SlygqP0l$_a zPWIzP!5oQ|(2W$!X$8(C3u-&R-MIqw%R6>dhW{d^$!15BH1uY2#nucgGb48(%RUzZ ztr2L`r_$%TFB;2R>*K7;QUuwY?)c>gUl&|<6Vm&e1~oX-wh@yWzm8xcZXx-#XNbwIjm?R!Y@thzJ`V98+^GT0XdbzCpoUhm$tJ+7a6Y(Z2F zYs5l^Ep!FRTp`trC3wfq%+rH2ffAPAtt;qB$Aoiv9H#=d@xkyFe!kECF$1SUI$hhZ zyQ0pvTCOYAY6VpBQ;&6eh4pR?B8dpo`+S}eqVQ? zOf|<_dP=b&{ctA$n${Co^*Ij~eM{N6nRuWhxo=06Qit50?daNNlfmKpuOc@h0DV%8 z^qWf1IWw*N;Q6n>r)g7ye6RIDVjH7Gg1lvdBm1b(@Nv2lyp1I%!});&w~gm%`N6jq zO9+4GYvex%XY*JRn%1%qyHw>c{(_nPFnP+Y1Ae&xKg(Awmmbgs&ax(b@!!@@_WDVm zMK2&|yzA=0KdH8HCw?Z_mArmmmC0FznV}e@HqPFcqAW=$Hl^D#2+{P}#1o5emKjV9 zjGE@{ZV6Nc8!YP@%F#GA5~=mwm7$0Y(x6TCRGMLnY1Gg6M7(`3y_+b#3|KPpX@4 z*B?Bt#kc2eO+`X{>U=YwSF+Uj| zRe!OIq_wn!%=hkU|6ZKQ=G(r;4*PY7`v|D+;%oKaxl~K;Bvh^AlNjEAke*6oEJU#r zdj?_y=fmggMZYYM{h8(iKY6`pDd$_B5n&Bc6-2ljy9A_gdd}D2JXIWFHRnkn?5lgp z+e=p>$+Oh)^B_6c9(4$mS4(9m69wsz$ngRa72uDc8AgtWeac9LW(e+W!w;^Vuh;8z zr913+nbp}NGvbv-45?}V`qF`-da^7?0XHm&D|HG#`1z*$Pj4ykmQyQhCIKxJZwU=9 zG-Wcrh{wSaE~L#HXH+oAJM^^d`7HYpzNg<8P1h(`m$Z6DJk;;J$!z4;U=b1>D$Uch z?_DVOF)U4*{_^eiUlFCs3-Lz_SLF81M3+3-<3LjmK4(D5j1qmr0v;Mpl7_I$bWaj+ z!~3Mmt_@N|sOa6{d62d>{=`;R_}L5?H9?&ARbYBC$K{`z=~mEU<*#FK+l@~p_-Q%Z zZlAJOKrMI4EMBe(%i|L12*}iR^GbfH9{Eqntl(g>ov%FWLFU$;W`BTvD_URtKCBAM z*tD=08;7u#WY$QM<*WFkcWPq#xH|OtE*H>G-!nVT->M>^_^;QZltnrs=MFyJ`# ztZ4SIkW?j^tCRLySoYO72qd8dx;zFl!Oslu{VF9Ll9-w|s)vi1E1s)wR_anh1Rs4y zdZgr+^8h}vFa^(8--@1ev3Q~_10r@hP@ zmB@);6xc|{U6?FMqe1>A(ZBP-}_%J$SNq1UiIA5{sa;hTde(_isIqtL5( zJ^%K(4+ks7mEGw{)JO#~h>iaC?e1R02l{aGyr8y_;Jx}zLN|80)GQGrH3%!{19^Ga zIGap&ck!R>oA;RA1kQW2fUnlGop;pZZJbT!k~Zr@L#IXv!6tPKg$IihOyz0W%52mP zh7wlY#eMC$WM9mn+qVCE39Q6L32ZDAk~xK6FOIJ&RP`TPZtrow)IqrNQTjM>K1e=Z zjOy~0--`fbFcUCmn>()0X>NdTRj)BA^wB;!9gi-$JJYf0!L3UeDxe=2^*NJ*k~ze7 zJ)g(#;WLb{dSwV|Y0fGP?t1PCg)_ZRdty-(cjebH^aW%H<0N&+0a+hRIBqxa79qzs zO~13?0A7SU!~mxI*uM&$Jhyc&M!Cpza&mxPwtQ~{q;S=qV;vz)QXvuAL(_@Al224G&`D(fk=pf zNKngAxTn#ut0p)8DJxZ*hmY0mo2j;~l6M#tnEG!M-|oKz;D)91Z`s3ZXAOZ zI&~|5fGtwU%YD$Jz}FC_Z?xf*_$b500LlJCl?Fxy}cl1Y7Qgf_L2fd=76X z7a^X`n|-z=W(j%DQbA_OUucO^v{<*wE!ga-vEBXZjrcHa&$H9rh_q z%0v&zS=16wQ??V-lSLuFNWD0}Iy@MgfHK^x&Y&^kb2&-MI^T`&{fcXSnUJS_OvS;hojP5AllOTCC>jk_ zKF+FP8D|HCL5P)-txvTodu;x6V!ES&bAI-)m40m;P!UFNny+!h{6;s|m%}b)`B=SC1 z`2+H$6Mlq@aaKujo;Kph&q$b~Yx^adp2l2v6dsImYL8$QqbQ;d6@MY@$o0N> z32f?EaF`vWaO?6NUjZk49A~A%qJuU0(h;RZsH8ot(Cor~y2T`tp9*Fe3}Y=WEXM)4`K;18+DXvA9ckmf*e~hUJs!n93FCPkCZM(Fl-6zMX1r>y_P{kNEN|bT&f~U&dZ4v%!;1a5YR<&;5U9A!UkqD=lUfQ8@7)*w1;r4#T1IPRrxjs6Yy z`Y&Da6QaCH?_=6q+PXTS=(RJ`H=A<&_l3{4KVcx!T3VF{O668dwLx!Iv#1lsf%3;) zDz}u4ho<*Mz7<~2#z%|>7W#Kq*Gq!?W4R+g;lxbLodI3UknZT%DUQkoM@%NVICWLk zL0cw07f5x-0fF7C>3!v_$2dPZ)a-W~$x@awx2amk+Oi$f02j8hRXb8NO~Cjg6#olDuC`4NT%_C+_M24r(?FVMjn6g$izL z;D@kFg<5GvXldSWlkt(Wlhluhl+?qG$I28;VBsaHeHC(;Nc5o5fVi7oy#jClypES< zRVnH_)V?({@^aRxJaSTFD@q@6vsToz*0uBI1^roykL9PNukib3+`64*$?Zt>;|9+oFbz zC5vy{yaJ7tQW3pA4vNq`4unRt|6PNhalYB|LG4o)3iS=FdhghJe1Is@_e*VU*oo&@ zRC>k|rLrD11oSJ8gw!^{(UJLb6TB&CiewxW-qgC*6*YcC$6-0My0vV45 z{={!sFJ*`S@Hs#Kz`%KY31zX;``hTN+ug?P_)3TUr0&DF-qXC`K%7E#g)g)uIVx;) zdF5#tR%waT_TDP5p+ohrWMO*?OJXKplZ80+a1%$cJsk#6tiMg4x@psN`PLlYGE)pdIP*~`QOE$2bYG9AyEBnw;3WqY_`f>s z=Dk;ZR=K+`2UixvzXgSJd@L3-eoV6HC#2N!I5z~HliYR_S~-FF$U1mX92r%fT%Jp}!lG#*9_s+a1bK29bqCCYGCv+U z-Ue;?LWLQ_9pDBoFH90#)Fso@?N+#jeYtiToF1!%-a#%ovy_9TqLkEM5>?-q7g+>yK- z><5Av*RR*|t?ildYbgub=}KIj#4dv7Y6~MT_pjp-Ec;Q0KTzyAeU!?dU)q+H+tO-{ z<&amZ4X?PAR)VK4{hAT?6G3i!9;_YdeJ(Xcnt8qXhIstXT<}9EVCu0*&&zPB#Baj) zX=Zme1reByMA)K*pB`oX2{H1pcpB?7OVUK@vanY##Z8fK`~Jg1>mXCo+NJGCyhTrl zJ!jzp>jIu!NrQp0^BzgcOKBId0RGFNe7&E8h=!iapVNATMa?QNqqXU-Xu)U4<$xVJ ziWE5WyTu?X)qONwTQPiWu?I0vo;h&B3)(#Rd_H>>%DlPkpjB4&S_t=LG1u1M=Kc&M zbalK($t6 z9N-v61>G<$I+&kOV9rX^7vQRJaB+GKExzW{(GBAz&tNC{Qu3F3;36u8KSIwJT`___mU9tZyY@bO?n6$lF2X_6 zbV}{L@=SQS?BJ-c`pu9if5m5|x4DAjCqMe7C(GxtrvUg*?D=!(t?v?5mO=YvYLcLD zaBIHu^2g(HBB69OJVu9?r^&r$qab4Mm*tS&9OSiUHM<=go!fV|rhI3hXzMZB3XO9e zYo9&A-CNk5Ck3ka0kQ^3e^2AO55NOKdn ztr<74S-$gUP_?XPE$G)Z6n?5Q*XK(n;YnG8+T4Bi;C~<&A}+F&sn8&Nj#{YBA4}ib z;bPKvvzp9xyUV#hY3+b0X8Zl}?P+{&^{9Es+m0Bdxy#5@UXIsVPt;)JBD4SMJrP?x z_TGptX(1KH#65(IM~ecrddL;*(wrOvmwVEC`*xZI@1kb*2zG{K=@j0{72d_KvnQ-e zlaV0=sY&PFQPawMLgdRsX^k~c&9FZZ2K@NBw5a|`XYEf{Ynin_<$-XM{3s=w_Al>A zkI77aZg$7tJDFF4oe&6$40l1B&=3-%NB0s?-p0?5`5)EiyC1@+ECDh*h%-2+);ASZ&)9%2DZcMD27J&xhgkoM8IK?QI@ean>;NBTtF4f1jS*}A) zvSV1PXC#B?4p8TNobMIL;o$n<*jbKL`#h$3atySHV^t6l^+n(+^X*Q6q~?%5s-1MK zWoj}oKo;`7yICM$@*rG-Es2S*#9ex48#^Ng;&BLh%6_(-PHxI5T+db&oJ`~FNmqtk zMoQBY9WZ62E3>iE*_(Q6bTsK6aXvP~6maSp%OSIn2tm;4MN)qP4LZSG-!dwunzn-1 zpL@7`ukSP|{&_9m-J854)6Erd9ohuH@x8bV=DW3xpA9YF_&GXfb0h0f%a&4_dgATG4Zv;%;T+sq3M)lYB%ar6 zgfUXl7YLZl{9Pl=Ca68?K=*p(GM+r>cZM`2MPcJ@I|id;e~uR|TCOJ140FZTYx*kNq3M|2sPi!}+6|K=fKo!iD@@AA5^M$9kWg7>Yl1ejD?NiVug9jRoU^ZPPmANT ze-#)qOyvm+6-#T)IVgeY+e{g8tlwl*>>?OCR?>B?LNsyZ<0No5 zWnd#6>89VqV=)NAbinucS7m-|`P7B~nGC|KP1=KPRl}&fgO9V=EMPM7H+~OX%9T^z zwilR=0{&H2Sc(x59KxepxCJl+Xo}cX5I3*)TJZKr_+6Voq?!kSW4QVwa^*qSU_+ZH zc>do3Q{#lYgn`5`1BKNy-K2P{_|TS?yxjg`awQ0>`}3p8^jWYw&~F5+_ybKK(dt|T zAz!~oWdn>wN#%&eYeM7S)KWu%!s_30T~aaY;zU`t)>=tTCs(=5 zFS<8Hb)TO)6}4_d8eVYJZ)yGM@DqyL;fDc1J3jnyH6P%U@0#2r;z`Kji0x$*mjl^Cx~Xh{fVBWCFpg?!2c?$h_~vZc#H#uup=k%kH)N`Ckc~Mg}GV`ZB+DiGKp9xRheb4^l7cIrkh_JGZ@}~pbDV; zc${H-Ve8c$*w}Q>0YlKfu+T(D&GKcwN`46x+zM#D+c`#v6)FKHZvIm9Es@BLm|Nl) zz;hFooo%*7;wD<|gmkU`eR90X^2=)6-kaHv8p*#zpmjrq;L)h2|8DTdNBr3Vtb{ngb)`wt8H?l%O_ zF0r4-#e5mlFXvf*F?Hua2K2JP>k-q#4x^g-1@b=lj)bK1Bs80fXP zwn^hVymnh+JtHK4!4XH1p>$}Jd5}P2gh-tr9$*RxK$dv&{{@JN87B82C==jP%;BHm zb+Mbsl%nU(F8=eNJm0z~fZ5bmT1dZh>25_x9VX#!oVqCn%QRXKRmq|f_~tq(!O!i= z#%=>v%n4_ny1$2PzGo!*!!HhVI}P`@9_1L%C_}PmDdzqBP4{O6p$SYQxJ4aZe`)eX ziKEOg{CR9wq(S{A`v-YY#l}tlOomWu_5DLBE5B37gd%-5S_U^gUmGWxpN&fQQc(Ls zb9v!mq*3E;_dqjwlAx;5mpHubq3h`@*%-9}cZk@e^^ZRZ#SR;oUtZ+@HADBU zGGuG$F#B?pXHZWJu@Q7?yzj2kn+3)80VVra0C2z@>k(13Y^7|KOkk%@^3tfx$AW-V4BU( zY57bs)Xwg@JC|c=cPZrp9H)hM)=fDCE;}aEoa_{sNcVg+^y*|V2$9ZY$ZtMgz}rbw zSL-*tAGff#XQoDQfGt90BRK#`b!+egdWlpjXv^2R=hnBnrg%(7SHKiv`+FpHvsF8; z=)m@hG)SdJjsa`bEY8!*=DX-aU)+w{rxh2Q-YkQvj-64D48_I?kLqGa5AQ7=O$BQ? zJ1_6o)IMnA`@samc~uv`q0!V+%GNxeF-hj?d@m&=iLgW9tWtD>K}7d`2WVPtO$xb8 zRAd4Ef8X>WI~x4pUTZVmYH9YH<`aKbloX%yowqr0gDR0u54xlz>DRB2EkRUF`njCJhN@TXH*<^rx~{#oSM{}1i%9Vl*&SJg0t7O+16Gnh&{p#z5cvg<^f=Jw7Ht!; zp)a|7)H>SoYo^dq^tKs1`0UwqH@gc}|5na;$J_SNuyZ2p%Y3K^@{TU#eM^^5|K1BB zAo>-6Mf$=l81Ml=@=X|KRSagK4bDC&cMg66wSQCe4{_wrind-KEw_xR!-~t^V=Jwg^n8ANnyK=w>ORTTji%UDOt(#F9aOJ+4DA& zHsQn8iu43IDgtDzU7Q1YgjuX}$tt;yd$eP87$)s3F4g@C>Y-B(dex5rZ&_*HKnl@c zZD8O3s43qu!Qkx-tAg`4n(f!(-nfVbxvw|1CM$|=dT}CjgF{6Sx@j#13~614J{*jw zd>k}z^E#q1Xdn{Qbgs@beXF8lfM%rGsPEMyF&-5wIf{;xbnu|z<>GGM?(9a~WsaiD zu#~8L3s){smsn&T$$U{d8de{%S;Slh<^b^!8q2NJ1u!+!5%u_YTjaV+faeZ!gKe#WS0`zX5Xpr#!Y z^yk?Ldmdg>IylA2gC}KlFT$lTDCn9j5ImmM;r{lxD!lIa)`e@!%V+-ABKH7d1|prNlx_=BMWUcW9~H)5|J}H&^XsOnI4&GURJ+bOXK>yn*e3_31iN;Um|X z(>i+UZy_|Ar^8cAILYGoqqhIM5k)}fBso+y5BQ_mRz5p}mZ0w_!uPTZSr+x;IG2%@ zM4bW1oHsLqYk{MfE3+yo!m3w2Za4Pd8;SmY@;U9YJQ3nRHK33!-##%`%Dvt$kdppk zHB^c#6Qax6^c!8~!84;Tu5{cs(o#E)^I*FBBxZi&qJOBZleXEeiLOb(Ms`~=okf|l z2V3-hKI-NWbhE`c26ea+KC|DMu6Wi1?Q$iP-uORMNS`Yqi!yhZ(HOMu`LaL?lDiDc zX^hr`S=}DheL{D&OL|D-K7T&Sx}e(|H{qT%xLO$pK6{?P`sp>D>rH7PrJ3ePiCbdTg@W^rWWR5LTAclodlq_vf`am}S45?Vm7d(3F7_wQ?bNMQ@Af2;vFR91eh$86@NZcdyjq`aK~=&0h>#bZk=owE$EeH1TyLLGV1`?g zDCV4NK%OZ15_&2Fm0z#uk4v{;yq$7J$HvW3;*Vc9Rbc1OZF zhgnN;B*4QHYeDsFikS4h_iGXUyeq@(w}oh?QV_O@Ac0|)xRAYDQfZ~nXVy(oX6I{v z(g|7k`*>AP6_e6XE=!*!aaK%>o;6Egz`|EzC}*tirE8wY*wBM#knb25$mrs3X+Jk(gB8eR{{O5MR+2lYw#tqr?boHL_ zjdIea8_OK;z{>#IBZ@#Tx}b^5vdq-R?V4QXH>Ed?gIHK%-n&-@-}So3`Ue0&o+zU!|fDRHI{P3wGdJBq6@#PL!@pdTvFg|70+sI)GbtY8OluY;)DDw1aLe zOmvDBnWX^J!f}J18e;{a78h$3m4+vuYlgPj|1)!ZhipR%NGMeg&Xc+IWqbU3aOlPt zahK&Nzgl)4xd~85gQv+540sYW447mekW^gOeO*cm$;)c6|DG)Lkmof>bNl6Kj%rq7 zf=I2HGy`Nfk(5GG9&VH;%rrTHYvqrW%Lb?j3s1zbo*$bl@w!X_(XYCfdmeZdFl0}r zd4LyGscNWq*igXCRCRL7909#XA&$ic7>Tx*QXsF~*BM#^33We)=}zu=!`Fz2h2;;C!rWaBDg6iO+_1Ev|spf)x;sW&3G z@M;x1#@7_!?g&1^1ihfRfI_pXa;c3uu6ZKQj5$L)bb=8iZhT)~UkU!V0s0P>KsT2= z=4*Ttqz-+MUyA7D)0*4BT)RGoX1Gi}T0rf3uV0YVo^qUr{Fl*eqQ{vof|&29UU_xr zTM*3TPV;YHY2=A|W(S<$oSdLR>3lCFLO0!seg_d%kM2QI048eXOIOsSq5(EjN!_Qy zau3C1I|1dI8`Fo@Kub)nG^7ku1#YHAhak4pO=zrZh|B|^)emI}sBk#5`rcMdEKj(# z$?w`l*yWV!ka2em2|Ztf<}6&xlzfzou5>RcgVSQMz1a7qi@U zf(=%88w+bU<4`(xL4JL&GMzX9>VqiA##hA1)g&lXCCFtVQE$;K=o(5@A_vkbc4{sd zfQw^FhfFee*kE(Oh!6hIea6B2m#lmDo9cZYoTiCeq?X?8p+(dnUzq`KhR-VeLZiHx z7Zbfo!V3wyS|?bMd6TD-OJ^n7e8ac=F)4>I=DUW#oArdAUrgFnexp-1PbXH&$#4TT z(P=4u4C&2#)nnNGsdM$xJl3( z`g$*+awNWQx5Jw?i#hp6QP@>sCJ7%0Ubqxb$^!U-9p_+jt;FuQuZik>=4&Xx$&K^< z_^h1r_Nxqh>y2;OK7LxOA(3Q@{Wy`1d-Z+04TJlQ{ri!T<5o`QbK3DE4bvXVs7*8R zpEw61T&MFBo7ZOYpaG(@q9uaN0Y`MNbGUz}6CMGcRR7v>y(9gE7Jyh$Qd!cp(0Lsb zN5cp1SWc^XNwizS@aII@8YY9wbCQ3_B1DV68b@fn$QaFe@cI)skqd5<$$n%tdueOD z@WNiU^_C@|R!?uf5?3c)hw+kA14E-r4{7Tx( ze1I-v0|hwm0x?a2Xc`2_$lMqchEsbd2;Hr=zDF0DHAn`jJ?Ng?Od)kGpt%*?>*rAe z2mc@%Qat z9pJlS1qaTg1U7qNE!V@M0TVq=dlziM8`bN~qP!6c+4zqpPJ&_p!+cP>Aj~{`nk0|1(e*EH3{EAlcFWadubZEK^Wk*rBcU491yh@b zp1J@&(wRccNx<{uv(eq^BcBKl%k^NYH?JZ;N`VlMsCKVC?-G7&b_Q#YS*(5%;)|N^ z4tgbQzME0Nla54e>^n4~tE!A6vi3P0o}5YSFe-XIIqiq)>5KzAo>r5M4ST=mqW&gd zHqWhu&*Np7GBnF|>6yH?tPdvfGKG}bQ4zydE*@5T*<1VhYz-8$<}#G7V5pn&R}ZV& z2?`Dlp9YXo)eCiyD=BIrc2L;sd5XxHF}<446nddh7dqQ9M!v+q4D-8pWWVuJ?B&K* zZU=_AU)f(@Do1dAW%S%6bm~$=!$VrO0el;QD4f9vOu03wCsoW|y9tlIUGx9ne*d+Y zw9RQV7cQmG{#5P3(h_ZRd!Bt_H1bim-#g}KKnWuUB@3f1DZt-Q!TvT-TUVBL-dHN0 zEpKhPn#JrmdyT3p(N2KXbg->|G)ES%Mj}O>qLDJLhQu2o@`8frtKtshf&JUh#ZHG! zq;F~WCRj4xJskoH;KA~5hg=FUxtXL}Q=oN<%%GzO-_75$ODPY5qN!WBTzjy0isP{w zLDR%|ilJz`Hb^oKj-4W;>fgp3m(5Ic%un?juXYzYa;pAZ&6m5{&&jticKJGrUAS8) zWH3}Q@>MZ%RSEKW<@XA%Wowuz(9iZ`ORW6Kzn*HjCm^&G_*MQ)%b;m{p?}^UV>SBW z&S`27&fGJ~PzbU`yi==6q6pq^^LZoIk25?7e8#OPo!cAk*f z_diapC@n6NNc}Za9~fQ?Y<8q_>XBFP{WqJ1cM^%bE)@Hw&Oo$^#WjUnFz-kDJ;-aQ zsLP7?TT5gOmOLS8{5j8)6H()Gv(%;0rUN7 zh>px{U4m)h4O>$#tGSxfuuBY1CYj5N^0c}T+AI6Yxz!Qc8v7Sj>c_SN95gAlA#j19 zGbbdD2IjGl+WqzO87_f$*M>t4H|&m3YgO|Nw=aP6_Vv~LKZS+^h_R%#ah*g1Y5Zp9 zeM_CEO#Ix&eZ|t*khkcD%$V}|Lk*!k22l`A=or4n%k@FRI)uQnz3$RbYQksZ^CUl- z7Khg1NdKNE1ix{^Q=q39XtntP@q{Q=J)j~%0;trS(;#9^Lz4>w|CR%ymnr>jj6!Al|W6Gq)N9kjD+v*{6qC}CO9!` z*KOmw-MYvgde^Wp*H-vEp28O=ry@0j_Rh?>DYL_4El7oYDy=r zT*C#k&+J+PO=`3bMd@Gbq1fqmN>$TWShunDZt$!L4-VxeEgn>Ug62O~q6PpFHL zt7v$yq=7QUGHaQ>P0CII=ftGgmC=8kM3fQae@s!VHb!C4-<}frURj4u5Tg;cZ<-Od zk3{zmjWJQc57gM-`~jOtjhUU)X!MWJ!iz2!O>EY}>jwTy<^OI#4RQb^&Cl@&zs0dP z(6olMdoW$CvxgMQdyCV9t9}^H9SD-5%198@o0*K<`El->9t`bd^=_PwwLw-73H6n* z{e7Ne-ADZ4r*mY0n$Ivdt`u-aPT9%;&=-FWs~ z2}03UED(X@^9lB`40K>*k!)ol!xx0lz`RsaS4w`6@OEH121c_bF!Qv147Pdx?VSyG z5fy%|>-Y|Hxn_-~e}^a-zoqH>kvv!hj*G&L?YQZgf*#b48-ndNP&__FZ$>=)zgQ zT%HCbCsWJ7QWC&NF#BN>{f`3 zb|Yy*9Y}OckwZsh%3`i6ejp4pyTZ|;dx>yMyWJQ8-H}y5-UF^d#XwDma;dLRTY$fh z@BSw}dDr~?f`sc~pYotSLpJ-lc5A8SQe4ln$;Z^@4{5cz^Su+Gdq`;(K>r~KZAfKw zr|@sF`+4s)%|rtcq+H-U<0+Ya;i3(T_e?;Qjb7z99{R--3rXVFa}ur(yo46rP{)z1;Nb0jzW>!bK5Ir-^_>RR1>uV z#jIn6zkeuqBDrc| z%rnikNy%zqWE%Od2y- zd=T7m^lvg;Dd`>XZ-_`hs|4I10x@qBW+P95xrrYcfA~fI(}`8;kpc#=J!PNLM>Ktl z`KPsBG>R-Bz=34qo2Zz zWFSCr2G<}7?j8tkfe<{wg1b8;5Q4kA2X`ObU4y&33_im*Z`F72bN3%ORl9cgS-pC# z?u*}G_p|#y&8NKI9kI2g*xMnLYUrxP-_NIeyi)reBBjUq1_onajY^r*E4K7;y_B@g z*~ME6=yW_-OkJ7lNfnjEzG@GVm1YX^@CNh@m3KhnbS0M%08*7PYf+uP;Rwr8a8b!9 zDM8CvkoP+-yr7w5LqERTAPPHb6dH$ogPiJq6HS6S1F^II0qqq?Blg`()zO)qxt++I zcaM|@wnBLd_8XO;zSWK4@4tp@;NZ2cKs&7%pi$4I@Leh4U>n7fjBlDiljSOgNG4%; z>lk|Q(FX+s_mjocA;@|i!1It>IKScPhx}cv1v9#8lhT;wvqQ8Jsdoz;3ogUDZr!6v zgO#3Dg`jsqSIPnZO8pQjTn0aDn47IU`w(*YiNSg*u84dU*KPw^EJd}+qAv2I*S$K0 z%X_$=Thet6?1ZKS_DmM4wEad_AQ4vMGpW>=_j}xmxgYEez{}yH?m&V*6P8ToFR7YF z#p&cT4b>%!HUQ-#Twy%Kq z*1k}D?DP0EBRkq=wP}-O?S8S&dM?QIZKisY>+BXQV}I1D(TsPoCRI;h$4G&@Ij>87^+NJzKps%oT0C=Hr9OZLZqm za*kDf8t^eD)BOa}0;}(xV&%x#rUf6=v>dAnw9mT|Q%0c|6X0azugXK1zI@o-+VD9{ zZP8C^iT*#DtpP_Kdxny^Vn}XXH>!w7L36ZEWhO@w^oMCGi!l)ovR%n z#-Fv>`3hVCO#1?o%~v1UE`%;A0V<))JlzM}F2;H79^bp`R?qr4_A14`z?TJX)mPF* z=$H>$;ihaml%Q>XqzdG2u#6@ALcI@MdP`Z+|O43F%`$5xIK`N z>D}BJuerYVhP=mJuetwg*rjIpXI_V?ZwhDk?oj0Q@{Xr#W-FXe%54G;7n)vYaMY67@n*Oic1Enc&UMumt0WXel{I^Ee{R)M2_Q|4OKYViKRWWT@Q5=J1rDle40=_>eSf`wMhTlu z!6<5F0I%!#Tr`%ozL;fsR@NAiuc!Cp4N~L4TB9k~q~3*abQ7rMevWEsniF;O7={2% z;nRP>hbHjJ`Gn;H(V`FrDT%zl>HZ^iJ4i(7WC1x)p|$C9+!~9guI9v(kjlKE!$)!G zHXBo#r##6||5*)7n*J>GX|Z+?;HQ&}ydG6yV#CJkgmK){@$$?mUaz~Y3|Tv$$CDZ% zvDCJsA7Q_QW-Ke5b|UKF@m(w1;;5VF^nrh+zM;<2O8y5suh?`VH4lAQ9sB#wK_{1- z2EljPPGa6{G_yOu7oXz2!>_cnA2(vGY*KP7k;%m18(P(qqmP0zymL@Pc{+XnA_

)ND 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

?V>??8?Rc`z2zj>aXgfQ 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%0D!QeWf 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
>?JRXis?0rD9mAFzY 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

4!qtIKN6e~lclUKr1U z%TOBOn>1AAha3Ao{2oiTyxwS*3dZjf#{4-$2BA{dfEmYGg5jC`DJrf9Ozn%%N*D9D zrQ)^ps_ybi{Smvofb398p(giBRa8Ac+_!<_U1{P{$~G)NPbC#{+q=&EkmqfVV#=JD2<1V6hj|5!i15@l<{Pp7J|fCMvtGtGoiEVC z*#!i=11<@7N@iW=3Z1a!Sqz$5Kny4Wk=2(I(Vz;JEZi>9;!&*1H)^`DWypN*?VMWd z_wgFbi#w!4xa1n1eKM~q4uR#wW6gp;{>F_|!wkRk-$kER_r2>gSX7UldVLzs8K+G= zs(wKef4N=VU^&@gxnn*qdPFd3;v!z&xqa$c#Gu|7dXhJ_ThyHY@j3`jt#DV7$H$I2 zEOAbJIL~!-iDD#ZYH3#Kp2d~>$#N9q6)f4tT{s$eWs^l~#QeE&fvN+iUIt67$*#;L zO8L+{3wO+$jxBq;ws*L@zyF#V#*IJoW9qdg7Poex?GV+OX%r1aZ<+U^UMvORo9 zbt7=AGCzqY!hyLL-)}tAiPl%s4j)i&-UxSzrt&0A=_;HSvu2%+cAwl}bI{tsN#&7= zDoHE|GwfvW$YXcSnDdCpR?bwUDgMNq%jXvm)PDvm`igyZ9g7o%`}6&(HyKx@&P8RY zEv&t!aowFybEvGacy6Y%Jx%p(EInHvWKO!=$@idte^xHfh|t;L{&p8$Ygw$pe(md; zYC1rU*`JC@3{iX=9_cq}9slO>HfTDNFax$GS4eYurJv_Ql>QZCUR#~P+316~i6#30 z`cFbn=WC0GE07K6)w*%+x@VQlCk?H7=|&Qk1)$xYDitJLDk|_7RcDWhEH<+|MMg0< zk~AUhvA@2r$p_!i?->2=%c?S{RZLZ9G|)iFniZ9CqHq)Cp(wlE;E8>X{R1o>l+qld zAhZa?oLeLFqz)3#*{>gs_c;LRe#hQT=C&t&HeEYa`u+o!R4u+v9hE{=i(UIMXJ9Ku zK^d@xy8Q~3)P)tN>*`8f;yHqLrFm>q?u4*DNCy>k{=RRxt1p{U(_*R;y_&X5=#7^( z$T52M^u$UsxBaF}WTjiVONkJ^2jh3P+m2B|eG;PNsr7?#6hzrmQj4yJXTvlv+*j!qV0=h?PEC?DJATv z()z=aR766HqnHCk2ktX}vr<%;fqF{7e2brQv2ipfDO?%=( z@2y-@l)tyD>WXDJK8MlBwP;5|K?Qv1YLYG;s^F8)_@aNpR-5J4Q*XiCdx7FqHIOb* zF>`uV%9J&|&qCR2`FZT75nI6CH-*o$sgH+3S(jI+rPP0Z6C2v^fE6ACxE>(#T{iu9-Q zl$oEmEZMgPZc`RV?E(oQRjbye6Hb_9)#zcLgGGO><-XORg2G5gLWmj>5R#Hl1X!kL zEY$eICy}`al%+g*Qxkwf;MOvts{(6+b&Jfr3qo>!RqtFV8VE{+7bj2YO1-O})|gM^ zV}EX6%&_4VY~d?d?-)Uud(WFc-db%wZn11{Vz0N-iE7C~EGnZK@jdXi&03teJI19k zm+#gK?L-YSb>(xzS&)bbRb)*m4J4fOm}@hg=TE{T)0U zi#!aZL$*_RdA^TxbloX6_1r|1U`Ur#{nl5ZTK=91oRJorG#7J6AG5qBF}wTv5FgI~ zQPMWBHWMQ^JELC1ZMOubYpkN~_Y__TK3-wsh>LIVK|^{&`L&$|^pzhs_Z#uNGF%KW7>9$Z`J`V?9+4jy7Kd;Ny zO%vno8w68VVi;1$mM0rFjVOI|T&oF$Q0_^Ty$sAoK50yb_N=!vjh&dWSYOq*(;W-N?% z)>oSH>6IJoOIysDg!J4YE96eWb~6C;?h~m7<#8)bzAqU>-gjf_Gn>y&EOZnsskm@r zBS#nrgS&t_vV&I|yXqakUKw^sC(Gt!xX1$xm zbZ^QnOtjww+8xp`db~F$O*6tPoX{1Uro4t55mk@<`P#$A-uU5of_pw`Yj7H!*?$<ZYeC{|Z+$m)PX?Kz z-CBrt4#%tC-ZHAHoqjYOc2m-7-SkbFU{mO45>zptbNU#(tnmE>YITQ%+dlQT0MPz*q^6jR~H-Kdl#{p9?L-M?Z!oLXoRnSrSR+RRP~66 zD@t@ctgN7jL!0oH$9=hCgEzz|xrPjq!@4V6XAVwI>NHRMp4B10G5WEkD|2Ml%Asv6 z?5uUsHXy(Rma(?bl}Fox)Hq~riGVm1(2lksjwAc`=C@a&Z?9tNxE#WcwxaU3fFX+^ z6@`MJKn-$ye7N6jXv}RD7zl>B4cz1caeaS4!~!sffp10NAo%gOA_x%T+dCu(`RyGF zggU0c6e@|~Z?*peJYYD`uH$yAfRP~JItB~O1p=<)=5qXi z>o<_TK?8Ucz)%oy9X;QFU9 z37VT*0KB9IIT{EMiCTAD03@E(LyE3jC;)pXUwysK8(64dl-m0`WVi+5aC=@>lZ)0R{or(QpC-{au{= z!L0b14fue6e=bPA4?W@-M8q+Oh+_~D#~>n(K|~x61>$%pkVgahGo;9)ru_;j^v@wh z{s+u4BoqW(ze4(dA#%P0iadr8c?97uQ0*>0wxUZ|KP6u-{(9e7YMliC73Wg z`1i!mkHrl2ha3d|b7)Zi0UU&af`IE^g66NMBX& zKdZyP!{k3e?t(G)__0BbSzP`eCjTRz`9m=b{#g(H6(7idf*b}s3E*RI!r#Z|@5-6) zcKa_p^Roi{J52r)WG~>Q0RIm>75}oFIrdNdZf*KmBR;ZUfsy&)?fOrU!+<9ReC$p6 zf6p_=ewp84^0VgqD<(%ioPYOv4S0~i$6lnrkIDZ;&K&!ueuvM`>hJIH`A?9;fENvX z>`D9k`21ZtbL^A*9VS2Pz`tU0sh5W4d{tlD>C3%bK?6<7NqlgO_@DOAEe${n<7gqsf$iM2A0w4RE zf5#g?>$kt+aO9i*9dFoRA~$x&S&yQS*@lL=JRh>;o-0GIBAmM?C>vkE;cLYZ@4Q zR58%f?|$DuZ@?c;iyvJFR;J^wgO5WKK#||7`W9ONe~Tl4zr_rI?9*eAj$;9T*>?;W zf8KWppnZR<`&;Y)__@O4vX7$&>Hu5)!11S5z>wY1#Ky+R(i#f4a?%Ax?RdO6R8;SR z5Kwj`k_!$&fRG3TI|Ks9cmsh(8nPptpf-+Bh!INP4gym9HmbkSAUHYM;YcJ3fZ&J* zX=P<%$OVPlL!2!Cj0TQ?u%nRRANBkr%{R9BrJi5gW^ZWgj6_)5I9c1HKx%(X14SU& zfog!B9k&f);$)?xZ;i5qSvdhT$D{Vg^eshcfdL} zNKSKIv=K}j7@lv_;h!|k)W!yGWo2Uzb(I8YmY#ii;ByAUdLfIoQFp;ZBa$_BsF;{Bb=nB%B?>1?B{%$q|i#9n{$jY3*R5 zqiq3F`z~vKY1}s!{lNx*j|hqcT8F@hhNGG+wXG03U^9pv+7|YwH6b8ib_6E`Gv|+p zP{u&+I$X!V5(P{Ipn1pg=ASgr+!3V*Mwq}I%piJyN(6^P*df4N1sr!rHGxfGD0>?n zXHH{1Fox)F&7r?X^a~J36kLbX2xe|&Z3%GdpVag#5DriyTXQ`}D=Va~^`8=fk(hY| z$0*iEed01Qw9&VBurV-)0yN*&i+={5fdeN5Vd!9ugkmcCwz&L1A^HUe17jpg&mL}M zW#MS>r#1bG1Iz$vYl*V8wsLmH@ayrK_p8`KKw#{gC84&`;^$#^!SePU2Id$~ybhzyP zln4qiITs*eze_z7Sl`&n#K6vpQx`M1f80C>62gw)f@4hbh z|D;da77$aExuKE0je|L+rau(qa4?u1*p!3OLyl^)vp3hbfq=oBrsg^T(KpTMpVS1l zFtg>fw{W&Jg<>Sw&qRRy=7bz8HDDAV!2tRHttKN2v^B(02aYs`0gLlL5dEeJ!C(+} z*iYzjnZh6j+E&^~Qfk7$+B?JV7ui2gleMBCXJ-X2#C;2nP(&PZI-)`q8)} zjq8{nepcNucFRAgfkN80+NKr;7`52|$oc{wXNlkfTbFEr#24^!w#d&VU>N;d3CBB? zz#s_F2*7&yi_J_Z1o-EC$puA;+X}Me2QB5w_0%e z@;slCr*B{#uVJU*N_KRkUU?>S3P0n%`GCD{aaxdk+!(5 z-MWtNHCE4R75HTKOU1=h%&Q~b?qJOxO*FP|dMUY%*}BdSLg=Ha5U z)gvo|W}{mll71D+#9KNT`wRtTi5%D;bdHMX(Bjh4eBj&Zt$il!bdz-z?KQPM)^ufb z+C;Nw$DDmHcLj?PXJ6%WQ}I(z#JkWbDa-fmI5<>q+5<10eZrG(Cg@keyeTJ5CnSL@ zR#67ZkgdH`@ArkhO5=iv!m~xyC?5ROe$HEJqYlF3I$j(My&EFPSSRFa`!w5 z`_iEoBp4U%`}mDgSF3(IDFgC(uaceFBk@eWik*R%4)Wr;sUM!vFEAR!qJtswVRGIP zBnIfjM=PmOrt!O1H}efRZ1fBZRO%H%FL%3z$v;Kj$zk$6a8C>9Fb!vDUebeR>|S3d zo8JF@rY9JqH-4Y8$GM)E-~}+jb*+soZ7r;UsSA9T(l!HjED9d|yRKklYh-F_WM`&~ z)?t%Jn;G4-Fx3N|Gu1Y*0ReMe&_)-tg%OAm0fr-{B+Mr^C<<^M%G;vNlmOEe@XZTp zTYlRbi9i7##Q;fTq$_A{V2TC--Xlz;b|W3`jc6_kc`6 z12>Md)P9mezt1_tJbg^_TgL#xBfkf*`BK{kjd|jqb@0b7Pa&~enCCHY0nQBIlY)h) z*eywIOCaG@59q9sEwH5%xGnEw1N2wST;BrYY>`777}?lbJAs%5feoeTYq%WJ)_Q1b zBXa`~^LH}fro5e{r77ABgBh^J6WB`%*v*_EH8_G(9q9KhWgtxvNH70kZy#m0eG|EV zC1e2$`)47m9#U;w%ZcZ`=KKz=F-9a3A8V@f#IC$6uemxS^u+t=f;<@CZ| zJ@oigw4PFGKY4KmNl;jSI*F(VN*r_6S)cuRSv{lmqNcH|)f& zdKbgW86PIHGdEcF8wvV5Py4h=aJW_0Z3jZ-?u!?&p(xQE{=P^k-OT-1Zl)6HL9u82 z_4TAgEh(=(I{U^fee14LM9ILz70x&3DP)EW@w=sYx4U0%S=^N!QrwUs+d7CV{#xn6 zTndqh%Y8^pFS`72i}(EnXm~53V6+AA?-~7fE{v_N$8>@FoUK}S_)_`n_YtQ318f|*$rfxH^s1$1PERJ>Ms=79^H9DQnF^nD*(>D= zT*DVqId6VjOq}4tU2BK{R?4;fl=U|IE8+={X7izD(mri++-wU~Rc$9dn%$O~f-Z)g zN`rPnvqpFi4~s??hJl~(qYJpu_%QnPi_~3jk#eOCf}47z&P512hYhP}hW)c2v=t)y zyNb#di)*K~Ar5Re9TPHJ=i_ZDn>}~9pH&vV=I^Q89o1#h{=%B?(<2>d9!dG+>!~`; zN1Hj4NzlP-aPqV@d4%L*zvEiF-_+TuEP;kT9zH}#_4xj3ur}p#(lW|6dH9*R=jPe` z^L1(Z4*UldjSpp(VK*a&pA7Z{-^HceIGci1@p1QM`|zOrl@&KmezMPMg+Wq*PVwq1 z*cS*a!x9$;_4OyVuJQ*ccdRUQ>JHYUk)tOTV1`YtpSJOX#m&7KYgSN=o=oC7I`GDu zMK4GO?#j`(eST;BmHfTaqnq7xqzBlv=$^0JF4pg9*lWGytW^ldcQp^P7tWhNSVl!C zw@kQK^Gr0I1NjaM=BOvWzI`LVg5yi^x$%PPyFf3dMz5e@i3|M&My{l_QVRo|JV7aE zE#jzR-`!Qw7CNKyK`@ZB8QMaA=04m|C=vfINb@3^ZbIhCDP1H{-{mewz7^xi`sTLG zr^LPrHy=M_&rrWAEw8M6k=u)M$trOu41b&RPH|)q5e1iM0fFPS0^GOhJ&JAioDHWy zXPZ*dJhQgRC*r_PC$(=7To)L1JnJkkbF#rN6bE~Z`qT|_#gkeJ!2{zXzPn=;l!5e| zzPpKA*y`GwPZKD{jn0@%dg9=)+|(dBY08#PfuBg5f7wjbWu$h=O6%O&I`xJ?S59gn zvvjgL(e~3(?u6|t+mEh4u)fRXwiBfJK}4WK92S_o5xB75kn7&MPM>Q^J~%5H0h|bY zu>r!xU3zJqQM-`TK)R1>Of6S?zVMntiIuZ0uk{`C5g0C_QrGwjn&S&|9{D@_IEh!a zw}UEzE4-wt-Kgepb{IYu&R)`&E}_xyJC85^q`9V%y&rFA5Z!5MaWc?4A&I@8VAIrq zT#b11mX$*Ns5b1JmMo{4NuRkdrPwS%nqDe7xia}w?n;Vo|25K3=|s)@iXtcxvAkqy zCJ&F<0FpV1wx;AX2C89EquX*X4o>fCCrVklLS@r>Y!R~4GS^fdszjd9eBxU|vb@1K z2T70gwOh`Ey%EY`#}+g5bsi9o8B;SFbJ9^iZzr6X{ou-}SA%UNeeFtZqpUZWsz3KU z*f+;gd#1A>IMaVZcS45Z!7gKZbMECl%Z;1@s8*z1ThznnSezzToDo9NcLQkFHE@+E zRPO1j-b1V2v$Iknfxlq)WK36&ZLC>)fQl46Uv|b(Wh{JE2A8Z4(l>xwHc-vYrqDMR zQcG~)jiwOdd6qx;jD&QV%TJfovc+@S=_KN$KDRDTUp9`CEWWc>;bSYhCoZJ=E?%{= z>1N)A6iSjRrp1$&w%L}us#g`mG_i*3W?0cC!x-=jmB>c6AhFF3x z|DGQ$fhzc5(x(~QLu5sHX6R8*eDnL@*Bu_`774}o+9x#|i~354Q@43eRF*$|vh6fb zn!Hc{5k=$ibk2~-hy8$coqsQF@-40=jhM~KnnX&1ZFYrFEl^X62~b0%S!cEpOaj5V`#GzG_P$F z7q)*KVN1v<{zyG}%fa&r?Ahxx5^P#-#yw8CI^@LW@SNYYnDKa^{ zYi=h>MT(L3oY?J~n0u9{ z92X9`%2FO*4{xMITOB_phz`${?N7P)f>P03tSZ1de)Y^$RwG^G#YUeCf|*1$9`w@} zd?wE}r)L?LDw?SWE)gx((T;OjoAXhEC}t?)ws|J;S0TAcatgjOA1yd%>>$Np%AnJF z%agGzHG`BvG8de0Jmkw~N$kCR>cH}0-iL%UHbR0p1j=~WE|~=LAN^b)EJF@)Y)zRa zY;(`ET7pUSr_+3Tl8tR3#u9AkIy1&1G0jQ)(8%*wzT#)@2o)kk`wP%T!nRJ&y+RuW zB;FYkV6UCZV%IKcH0>nYgD7qbU$j`&yUeR^gQ%(6;HEq^3n7|2@Av8y-5I(i+U&2~ zha!!uq4YNP{1j2r5VJ#LERn&x znRmk_Oc0uwfu0Ie{ng~nfS|HH$FZnw|U+x!lm0=yH_9Xu>cAHCarRUb(&MA+idh@NPsMyE*KHkg2rWUezYviMB zWj1H8&%|}`bAkP87ElVEL|3M|75G7n%j8w{!CLoIloTzRUT=<17<;I2G)ZSt9N?-? z2|S+kWSFdGF=4LBuNl;{Hh`adtaS4Bx>6WjGCyfH)J6SK?ECT^{Mv#*U81GNC?d-K zuT!~&EER7Xs)Ii}uAX`jI#W_`3Cr4#;?*6Tx4h?K=Y?HC2~fR+)LRao(?T-m{q?-e zpJkk^KTjckMoEck=)&;KX27MbcOT7~YC=oSJVEMQx5=dN=W8$C;Fg;-*<|Jt_K@G$ zwT|7qtE;41buT?0ercN9uUoazD$j&LXKDDt3zyddXCBr$^3vpbTMAHFp2-w@n0D&S z?Ukz7n)7eJE?3PzyTB^e{W6>1tykT_tgiJu+@(w7wR*PAOob5qGuBH5&*qXDqy#-K zN4m60_u8r@dE`5UhzVgfyP8E&uuE0l6*cSYcHvyxyN)FTzK7M7g)enoQl$38%%mbl zFZ(g4klt`wXpV_lZN^HWToroPdAPfGznjvqE*&SlU*Q(@+qZ&c%|gis*q7$)^lMCp zc=wd&n)2@!Y4<0L-qy>g5m#=0!_VDKs@geOlbrmj%V1+V!}?yITDePNYm?aK?UaZ{ zYLAHF3s+1Q`>5?~zYJ+8QoQ=OruW=6o0Y|dATPpZeYEGYDYiu2pk^N>x1rD!IXiFq<;j=wlRG;n+)qB9wQUbs6GYHr3afWIS z4W&JCVf`suIS67QsOrFY}S4-MEDs-x;10}*7lLTK*y zrgxc~$yzgC@-{q|5QN{63cO+6T&!uz&*eGaU0~S-C@HwGAaVf!6t~Z8L4Wj=DXI3SWlFp^AyU7RJvN*f#RoTRV@6E8}ZLXKy^S zvmd?xCH_?ZOAnRq^Tg1iRAPTdmN~k26V0eJQ|bDM;-G3Ahe!*%y{!GXlJ=0KqLxoR z)HM!gi;VI23BQaSRLMk`2M@?_bq}Ca8J>Lf9SYgI7=wj0zHnvnr1c@uc%*31SPUJC z*_8${-HSS}ujW~hgUuyGRB$msIUDf_JpQs;aEKFy8mpOB$HHQ-UJ{>q)Ml8O*vC~I zr{fcH<(%c@VyARBHCLE+i{od1k9X$Ml!mT~n#mp#j))wo^Yh8D!&5@LFX;Nt2=3 zf~Ky#@REAT4h?;J`RVQarxJK)14(EJJcB(MHFi^%dC#4s^ogs}Cb%ddWo@>xff$#q z+9)Yt*MDEGC1G2yL3?=Cs^g}aZ>l?ZTK+-UT*Mi~Wv7%kOC{CS^SiieL0_Kjn>Ky* z;4U%IQQtf$C>SOv%UNnG(K1}Gt1u(PBa9#FL8!`t`!{_}t}|XF9Xwsuv2^hk&FPyL z0=h*s;z6F77TnJ$20JeEtahI9uqw#9A2SGFRIm6*>uFbR%53-W6tmYXd(~5~J7l_V z?lswzIiIAk)42z8P8iU5f4JR7SNyBrsp0jb7ru;g z-YNsVi0Ma6Ugr%?3v%_JboI}tK?$%Kaee78|J1_t7T>FQ_LjZ&(o&#$<#)q`tj(bI?y;&E_^e$=dxcRn@y~`F1AV%YZx@Q+RY= z&1KiOSljnzsQ7KatBMf!K~$Pd@&$G_A?`b37tZg%?`l@X z23e35rjpkae%q5%v zhg;Pe)iVqvL^-Vbiw@t`qjjmZid^6*NWQRXIt-3u0`D5%NTFhI*~+#my|+N1`Qetb z&GRO?yP`uTJ?9(>K67<#2F+;2KWt*Lzuc``XF7i4n%%%^;{$W?(u;;gwdXoKaY50w zMm!g!CWY+X$EIK;ZFDmC&D*R5Z|ZsX%rw{<+DW1x2x>>gMO!+rhrHn(KWo(ZT4AuP zh)TomO(7~Rtn9k$F!37No=tOPcvuKNamJ-+W=dCfhkj~6M1EfYFIz)2l_YFEb@NAysJZE{8@cxLw1AM1gd69N;{+H1&9 zh`;bm?>URVawkb(p?v&#e|JmcC%kKs5M(Tq{3YdN#l4)@Ey_x%Zx@!Ei{{SNw&K7$L43uI~#y7F3dmE!h zu$puFTRvIO5(ZGq$>kK37N@FOJZm?~+|1H&d1Ei3+I0m+*FL?Rq!)KrA>a%#A4#!- zfwS9*rBd_kqFx?yHX{hCEBnjWviar9FD}L#*%x2oVa@2eW|TqKTIbkudjBbi;(kas z4(b$%#hgerDHxbGkorpVvg>jx3q^n;TIJP=`)(2J8ng1J$6fb ze4Flzs(sA?G1KiRms`;ZA13ZUO*Rxy>Y2eEy_Yjc#rd&0R580J;GTwhexfYO+a$3) zaS@l6;ITl9{@K%&UMx86HXBCOD73!|gFmGbqawO>n zy>q1BJ%vue6fVVUt+JDk{3UJTIUAr7Cb!SgA}_Mn5?kX|(iVo^lU}?T;6lK8iA}$n zp^`QBj*-MyWa#Vo^Fa+&*Hnx%F_ext!9cg69%Z;n zo)_ikO0}3e@(C^)OnT?qD-VI4n-JuxMa9!!sSIr=i zc*Ck#xYOtVj?q^1Jr(eI27z}ls9ykvPIZG#VlXKQ$Gta4>WNR5%2du>t(3MJI0 zQ{wyjX1Q>AS6*7ysXFRqS;&I(Evs=9{wD|3-t{J>(~|b# z5Y5;nL|W>7#<*5aHCVp}7Qx3+^`6BLYaU2*ElEL4I(*5Zt z!SViUd6MWZBmcbXZ0avmB42b}Mg>Z*OHFdI83#%km^M$DBz_i1t`e#|Q{ynfXU@ed zx&dbOEuxQnmb)D^d9^%Gakz!J(m|_F!zAb3_NnM*3M-t|+>O_u`Ag)if^U?f{Y| z_+D49en!QuH?Zpk&LoGa1qJv9=PT!XoN_z%GZdee-fU}R86!{$%-Lf0=OBn+el&OW zz6p(#?B@(!p-iQLxxC!DT&lRM%28}=$>Re)b7zgxO}>arXvV&T4z8}H5byJYW81VnxLP^|5rGdiqo`y(jLiyu;iHm(Yl)eVtc&vqzLephxq z3RklgmYQjHhL69VIJooTIWo{1F^=&`hlnInSKhsz$OG8xIkuU5aW4bOXf=Cfva&*isL3ADL1 ziXqD5s<@FRoAfN%sa66YxVGR zS2p2e-^;3yKax9iV?qX^*W2{tGfaAE-J zI6}(xkHOKS(9+N6*c=^I@efHJ$AK`+|33#ukGd@Pb3p8mJN6@h_P-qz1!AH=7O*;S zP>>q(=ztR_us;Ly2S3W|=LF7NfdHt$K`<~>9djy+8t_3KbJ~g;kje={06B{YV5bNY z$ln2Cs{j>nRs#@eMgoU;K#w-cW1xitpSXZM4k%#1BM^@RA&yeH5SZtI>~=WjdX^F-;3OZ+6PzFzkY@=4Hgm&((_%2+z=0D)P(WpHAcGiquMWf!foj!|NZ{+EjqSjG zTdr>*VmK1=bBOq-*ymrx6QNLm>bEn6)x(<1A8=j}-a5eL=oEek4$ddO*_afrvi_pO z{Y0OTpF#jS2HQguDn$G;;>7Sg*Tm(z_8e}-)U6x4mPr}aYuU(wYM4gMsgasuBx}UI zt;W~5qsE4;{-^G>KJj@08E){qzcvH?A~n+Nn%Ap)o{-hq;mSRW7S}bmR}Zo|dJbw% z)Y()whMCOVOzo|!fMYG6%`r=&#~WmKmFI5$;?VJNoKP5tbN`4k~1Wo8gM$f0mX1^R>^v~ z4QvMp<={$j?bZM#CWfbVZ*j%tqKtmM8--wW!M)w=EtF!zNGhVZtRa`hn0rFxkrw0N zKGx0G7f|`Hx{qQZ;KiyjZp6%_4l+Ugrs7PyNc@N9dn;RTx-d5rz;#0%>U&-lR`2h=F7I+UF)VtY-A_r~89JkLZjY@u?abiu`t1+n!+#+D6L>I?8+@L{+C&RGo1%`$_3Ahbcd( zMed`J4TMEjyrp&5f4NX4gk*gkC-A~2dc=<~(W_@9B zwMu#55Q(G&;#fou<_Sw@Nt(!4)*5y`pf7=)_}kf2uSwJ?WCX`wm2^Gasx>vBbI^L`?|6?R8dP5Lfidi-JR*}+<5asQJb3R!}ULeO&vjPz*he|O^Y&H@ad)BH$AU(D$`Q;j9 zB+O?vLZw=pc^AAo!~{=_FX^=&Jf}Y^`FImFSGSo_eCW#Qp}6BE__MuYg!9*JRvVT( zeA`oR6V!)gXT^&I+ZOH-;d01wSVR=$wXgDEsATK3De1iqc=USo;)+%&b|5>=OR;ir zXY6sY<)rcyrQ#H&&>WvX(!lFj6Ds?~A?ue1Bz6r&%g#)>qs@`mU@gnc3nx(D3%mip zvQaZDzLBdX<*?D47=eQy$SW(a8RTRWbH&BYDt>Q|F-*PpG#?wHDmudAM0omMYUyh^ zI3)7ZO>Ge@Br24dL(WdU&s)Bc%(mP3fTQ-ymyApUmY|kiWa%v!=SDD2;n1i(Li$hQ zU*;%VvysQR-0n-=fb5ag?UIEDo)L{eS!3Su4-s!C2pb`%Iz({%T7fA27I(_ayylnM z2c8)A=1f83xvOB_;aoRy>;w`hZl!|NvT_|ka*Mu z`w1O=Up9lQ6nU{!^dnZUo7p&}>bwL}fo|J(JX#I-9#n#pQ2+ z%e8?kt@_HEFSV|SY8qGk`Z%=avgRJz(X?yg!m{=RqR__u4iO~{a)`~dw}~%=6svw} zd+^E^N=m+A|3yDoC&l%$d)%hHmBE|M)7jMRWKvXZYwH%NozwC5<#Vyy@f>?^5g7b4 z7zcK*f8wZ`aYnAn;`HHtBBfVo)5G2jPAoysQo}3z$+gu^&|bheOu{f;t?C9XYJh=D z8ZjnRAYu?Jq@H5otZ{6gKJD(wbp1?JOG8;D)#S>A9{oAIiZFI4Jgsw(Nh{iHRdcbd zota6Y(ag0wAoP(>>#a2_x3Ii)<+vV|!z(Rah_Pb!CUZ?*)qwh*gLY1qUmuz_2zUNr9&0pAAqh%C>vZi6)qeWbz`KlWsBel)(XX3lBhzj@8 zBz6hwVg3!5oLuHL=*zibU)$#mQ0?4#0DCl3=iHXNcI6ZnyvnN4pFN(S!}e0qsYIn< z?`XGBKxxBj8t>c`FT~M#kN0w6TPBH`b}7@%fx2P-s5UG-{7`y~PD(m`=xIuqT$xIU zcC*itZasW0dNrj^Fl}2jBB{lso$~cVI z>^WR7=Lp;`Q|j$KzJ#=`kZlET+3DlAI7xW08kms<#zYn2eeRfD?-#awlMU`*;jCN1 zJh0NJcE@eM@Y_}OQ(s@uw+Y8`2+ePFaA))ihij#=E*5LTyAZgS2ioW zb+xG0Zi3Yw&A6v((yy7Wk?6V*YXM>hn%s zEtGT_2kCUvGTOh%nwZg3Iexm#F(Em;or2G($f+$|U0?634Z`q98(Zruhol!KP9Rh7 zKRW7HU(#P&l&n1&vaU^fGJRatl`*Ae!InCFn<7J~&QdzUS!z`1GC>u$u+mU^0@Z$z z{UQ{y;6frjXz{6dk+*6QG=;N*XL_C+FN(LU0$kdO0Jpp_^{yUFN=m?|;`k(_zsfvl zyRf9o1n$|BcZ|AAyFlATQ0Jr?M|?sCL z$zw_FMmu)>gq{0_gTuH+v;ZN&^@-=zf9z+?_#FIB@i%+cJW*~nDIq0$1CG~n(c(?J z9elh%2f^qO=#k7vKjJ*Cal9OGDzCzvY_Aayu7#BqIU4NB0p+3!{A2yg8;Mh^^htD2 zsi=1L16SaQsQkip)gj>mR;*VTXs7-1xtZP=i|1PGKzXA<9cgbn63#&?Up&M3yE?|# zhbsk1YDSobY5xA;Nl;IPtIOX`5+1rf`{onO?-c17D{Wu#aC_3xY3J4DBl}KN6-n8N z;#wyQw2tW1;+}R>GD1hGokhVPsgerP!bUIu!|PM{iG^Y3$|bKI+RD8SR+3@N7qb8K zkUx&pA;9HLcg-KTHJ|%TPRX=q_phT_#^2cIU&gclfRlgW-u{I|Ec8$K_?K6!lNI0{ z|4bkL&j^_XAf^7_5i$S<{s|$o{}V#~HSGPH zOZw}~7zhEnoZnjjxMcz0O#ng#fZAW2X#h9{_?ED6umAup09ymlrv@t%`(Lpq8}l#P z^53bgf1sEDR}{hVXL@qP+dGGGf+={6#kZ%pI^klQk&ox5T!K z(-cE=SU8H*B+m7NFV1IlX_NTXF6_hjykSceLBpO7$a>E&Fuijtenx!u+ zT%GaYg|)f;-n-IJxii`nrO=#;DjOz(vvM{*#@4)b4ZFb|P4%zc?_Xp)e`&9OZ*{*K z@t>&8|EZn+&v5d$p6#FD`WeX}?XSBEDs| z%)>^hLj;p3Hy{NlYb@fkyjL7gFyb3^;p$uxKBn~Q1Q>0$3StZxcaZ3EdefU4qo5@A zQyAQb=i|Fp3suqJQi1o!&FF`pBNaWyeyX$3P_x%{DFf=D1B~4biGZs< z?1?lh;K6Lg-`IS;VLe$;;dd|Sit&y%rgaDd^rTZNA2A2+Ahx`ZJyB}5~^6f`T01*UK8y$m)J@d@QGhZP6c zv+*sr#{~-{Qw`v=7gU0Vux#c5q4IR1f;$`4z)S+FwNzY!o5Yl1ojVlWjnE=MqYJQg zf`&rCt_Z+jVaal^E8G*3&bV1GpdCNB;au(s?H$eTu_2^5nj7nJV3D-7H5Ni=C+5F8 z`uh7JZyLuHgb5NhV$upGZBh_DFkd`aXghy|un~0ah?ea1KzQ%1DTHqjD3cTe69gs# zkp;yaj#k<4{6y}KtmZRtVUI?$6+5vTS{sh}6N{?^m5w|Q?uqdpHFNc1#_x{tQw3g= z-#rVqsKSB1Lg3&PH-s@R5w$%?10zcS*<@=G?vWf>?4yyj_wA^P53L5T51GS0Zthx` za&#rhBKKEG?ud#r;rzZd(W59cGpBtRrc*7|WduhUj@3b1nJDxLQq>h7U4r7py5>qy z&O17KT3>jAwTAEFHMWOZy>|V#V?%0T-ofpG?J)PJreF^!w$0)d4EMRsdSGo7B7xbg zn4E-MVE5XSR4WP$>mS4gR`t#nhXo{!_M^Ikjn}qqk$s7GbJad1&`U%|nTLKRVzgD% zQyi;Ys_P0;=>G6JEhiI!)w7&l({lc=|Id)wp;)qF4MDVyC-kWR}lZJY^V0 zwGjyQreysH(0zl+Fv!Hztfd;%RO-)oVFuV+Pb|k4MB{XNSU&}c`VaD;Wt+q16cRN? za6b?a27zl4Xft04Ygk>+gojNbkAjwz%Dw4L7nn-FvQD(y)uIeZ$f|FEeObq<>P&u0`kB*f`^_q#R#j zK3RO+n%j1^=8dpBuEIHkr5Gw3;<8raVpAa)Oq2(ushnp%w*f}Vg-mPO&C zv)I&35ZKfb*}~oE@k2wU6@zG{crW9H3g{)9AecLG!x%B%|PiAH23S$f{q2526+IdBuf{d~ZkE5APuKQZpq;iX8ET zw<>q=@QJAvxZQi+UEC+=eB@k6cH`m$2FKLrrY!X$E%n4%U?vZ{_Zuw*^+5!-nFpGS z7xBcS@N4e0xb@A$2g6|w6X_C?669eCub0#4?t?TQOP1|W39e0*q6GOVe$g~jjS38* z!FKnt5Qb^<1sGTo2~!S1tyeD>NsgHcsFjwX9JCtfg1j@E)DH&RE;s6flTbXUFt6-7 zg11EXWIvFT(1Zyl6KJ|I*icRs)i{3yzY4Jz{k%S;a9s z;%!%1TOJBdd{kV7fNcSgDSHr93`1bCQAkhuam7x%K3_0U!cf?2vOU*Wht|s%Qx0i{ z0Z^H$?>TkBvDJt>Ja9~_5Nbact+6JWVRCHe`a==xUbPD0T1)*yUkpDL;h8%4&zM>w z@YqLN5v`zAGAY_Feo|q0=r%qA{j{!VJL$qjt=+i{x!uqj657MkCoJ%FJx3uME^Wvi zi-=r`?AWM~=1W9H7QSTHsu`GyFPlEs_XPdZE!))(uHb|X@9UpQbi73x4q^-sv!AFQ zD4YsGnBwZeh$rC0jetys0pde%J!+Rs?g@IL4u7^9oy72cg0pgZrLi ze_h_!)XL){ht6MY(%u!{GG9`zOm^t^9QgLH$$!36yobN=x``0U6{6LM`8&@eDeu-BO?_#h#D%bPEp!Z^JMqHfUg>lVm{skQVZ}V zg^F&QsQ92njEVtSt6as}t(67j0^Yllht^H)op<$ZyqSBofg?6zSSGo=ZFF|`DU5ov z`D@!&{E)`QymZ4mUhdtrl?hQ@8Xw$3P7(nkup7Z*6l5SG*O4uU5LX)C4oQ|S2QD;t zEuc8AUKVZ2N?bLE4ILyTP^h~j3mkqNy-GHm{%JXQnSTxwHhg(V(yP24`uwa(wUn~7 z=(g9AuWf0+xR0u@aLRWa^_lyn?h89JV?^EeGh){3+GYU#kdu!0BA{?dUZ3r!E$O7X zW8NJyC35!Ch==bHO$-sQSXT%L6x{rwFM3HIFv}4wF(HYpXh^jIwX%=o@_n<1f>#>v zpmxygku4YQgSK-Sf=@Hitcx@&r-$o!dXDJ*2`4U|WI+%Fql04;W<@pQtekoVr4?q_ z73Y;hLWA0E9j;F-M4!)^i|P({_Vr4U`eAfSVfHjhkVDGkx(9i5KdQ=NA$)kuCR3Q< z#|`c|xY?Ist6OtaS?}EEN3m*uguN*pN^1h)4VgQjj~3kxfR6-Ar=eh{-j=VE=V-CS z!>;A*7cHx;fNhJAu=BmLMa^HnJv)AVt!<~irgMkEgKWyl>9W-oD%Glwk#A|M?M1K0 z33pBz{QL}p-x`!4gu4fHuD6cUBVXKiQ{W=FANBL+x<8HN4-!t`PmW(HRMQZ1K^%I` z;%14Fk<`q39BJBcFV69$&Y`OlRC;?h8z;ri(Ol;rZXKLZ?g`XeY&>7u>rPb$49M$k zI;ikFzE3eiH{khJLuG-Nd>6+HAa@o4aUH-UQ&lTIy!9dve6Q;^QlfS$Hk~#(EW{?1 z1Ho1X&Kb#qBDWy?d=iEX=vQODsupC(bGM_m4J2v=xVF#3%aE<7*F@{GJMgWk?!-Jy zs?#(2%&b_rTiGBeEMZy++o0`LdFgRRr7GB;%;i) zNb-2&(N!u1%NT;;mU%i3QWLJ6B>>5)_MGRrIMC8 z_XaTx1V{EiaSJ&ozI z@GTu$6i5L{Y(l&v4+~xdD=J)DLJ6FOyOLE{IW+R%m@S}i7W2zzrCG1ZOtws#yCalk zK?srDi@uT^=B}r-!OqVuud8!!pSv?0i__p5+1xFS7U&W0fVr$K_6OE8Y?$kL5hu0TF z_C#8b7MVk{@>Y^5Gpl+vlD&_d$0ubK5wpd0S%y~EuHiPddG*w)rO>r*#JuIVD*hp0 z4`EbsVy8s|kpV|1PRe=R=#{g92j|S6Y7B+ODn*h;A9Jx|S`5Q`oAgxuED4B^5pRw% z$#SX6CrJx>AOyir&61#5PQ<~;mQKz^AeUlU2~9;w-ZY2p5Ni>^Xz$=?*pCDzu0zt> z!pGi7bg;3%eDKYbvO{EfW%X4j+}fad=VTLeBJyx-*XkbU3=@H5l?7upZXe0j9b1xh zpMK*g%PvjH?7Y#BHjX9LZmMn7`fkc@9Cnl(4b`L_4P{fB_+t*``azIb&yHz^8#gu7 zLj+FVlD?>P?miV0|8*vp-fi_R9&~n=`jSK^$#TVKJmL)nmPi@5u)G2-_`BxP(w=*pp8}$57np3x;^b}8!^tx$_DPe*i-Jp z&V59!$6M#SCS`8{-p4O}qzUy^hSf4ujrjT73klu4>2&+D{MsdT5J`(B+cjZR|6rwcXBf>@RYd+roVy3dtNRsvtM3c$Yc*M)-`2E}9 zg68pMRS#^#+V^|>7MI}EFY8{0XIuHV`_@@(2pby>z!70j&}fNleA^9+p%=6#%nL*9 z0YaTu!>>uHYv8)%r8sRJoPD>ozGWQDm3+R{FY6y(6eO@^t<-{O=35!JjgYIixYuoX zrW`iP{X(7**ef1rBAPl6`l^0LyZLA=@;-2QR5ZI@y@kTBv6oHXlzbR0ArqC!&E2X| zI~ok3x&0IggBj%Eo0_O^lak#1TwqJ^3?(@sQyCcwgIK<_!HO!!*)UJbrooX2?88EQncqt+eB z#^26bsOgI-)KU4kx~*f`$fq9RIz+AHqilVeww{x@t>9;?I3)=s{(xT}tC zF{1EnKcdra)bgOt?IlNaI-w?@=c-OsfgnmlRzoxbJXNfhKpoi5XgHl~hc4=j$$x|WhKwChV_E9@&!zZ&qVOVS7^eDRD zu!#Jh=A^kjkUl->45?N?XMkAcUcch@3Ko~C2H%73_X%oJ+-S~TkouD(z&ABZ<7qaP znY;!$4Ig&pHTw@hCLCXsZywh}3c=1JoOjqP-@HQRmrIjXq&J^Agp^cs$#52|7haZN zBC7eR^A=p70<(EP4SlbFJHs7m z;6jqpE@@>{zahu%ix(SoRI*iH5KqwPb~LC(y=~?}&$*p;WO{ImUL~VX{>*HjpW($n zc~(K6SA+7iHE11l^j_$5j8iBla6r$Y0bM2h4I)Sf2Jg(dIP0+$HCz^53M1M*spnIF z-d+A_x&3qF`m!a9GfRDhM+aU?X*7kQ!O+xI=B)bmTuG`^Rq;20$nr*+BI;X}C3D=$ z`NKUDRecEjzLg{212K!fQw4gISNfl%petNyU)@?_GM;JbQk`uMIGd^;W11|arAJ5l zA@O1foC%~>0A$FhGQ5m?grLis#dDTHu!>!~1zNBf5fE#>Y%-LjqLGsX!y)3VN- zlOCE6$&C?$bHRzfAxXdrCyb{e3gPsK?Z&*KqVbj7Hd6I&!6c}R%cHE8+$*=tBvVz$ z1Q8fM-+D)CC?T7b_eNUU3iP-`Ph`O}WP(TnCGfUi%*|*lU&5ptcr54`puIty9{aYd zuR(l8+sq+lo~)+w3~R%C4{O8MSrzC;WJ%j}CN@NG6H*;IWC#|q0LK?<7#eXFjx8Rt zq9ZJ&LsrBXN}HwQe2p1}e7c5V6k0jka?&(%vIeJ${wacr4PPRRgVTk`W|a|M1opI~ zY$KJie}ys~o>i>vkmS_vQ$;Vo$_PGYAJ03hu}M?!_-%R{q<;pVMy|eScwrvw7T88f zhJTeVQ*PoL_7!j`9gZw4&h{q`oLE~shLee|3E8;S6<@wi#4NtmW>=o-g}LOp&`=HX zGfPwINEv`XV2rXv?9djs+jhM~4xa+#qpw$rWQT!dhqALPkwE@VcR}tl1bUHz?&;4MV zD28}gK#;8RbFw>{NoIAxD;}%8C#5a?`Y=VeLsV%6Ph6hyw;MG8dq@2dQWWxlseEN> z(Hi6(0|9jRJ0O;0P^7W4UCXV)cB}qacM0WH!f*Q@a=2K`QPIi#J-%UM;6`YLhX611 zCm@JA6YzQdTsD^`T@8=WhgzqlbJ>3yZj%s*GndW5ku-;G1Gk>HA}?>PX))GVjxZ`? zSId!-QnJ&5Ba#PkP)?q0Kj900V$~)uGysW1Df-GN0T8jRVOpIPCMFV+nkQ7RH#4Ra!R=Ac9#^D&K!h^=&SnpW2V!UPy{K; zL69)ZnEY4~BYh?F@RXoweOB2IIBrG`($terDJGM&3X>b~_tc;{K@BdgGcEF1 zZu-sy?;bx+OeoVfNd6go!y{Fnmf->81A6cWQgEO4n;P~zo;4=E2$dfKb-k*TUN=s6 zq8)Hv1S0kf6QHvCjbbzxKw_Jqz4Ocl3>9N=$6dn_^p;=b#$iN<{!KkBmT0GT~IE_u{-A<6KADfvS1wyFv;N&g<<2Lb&+gVzHvyE61 zPq2zGuoS>-nP}7 zaV?n*>U#`|i||r-qd_b6A|-XXoSJ!Ih*eotKHm$_vsTaKmew%F=xCYYKKOboCw*&L zRBV|UmaJ;1p>W*Qkh{#_=LE&f;t*umo)1i4<$Y38yuvZ-aV)6WwvvN@?6dQVbGnUzzmqJ>xMBiQ&nJbz78r0?u>eT0YPEzxlsJsT z!#&7wG?G!!WgvE>ULt5sAPVzbkDL_es*XW{ z!PL1r-39e_^5wzK7b`mH(OPT!_&;MKFzd?;=3xhQb~a{FOtMQ#d%!u;YV$-&+sRZ0=SmLxdE>@-59gqFJd#)r&+ZoJ4vESa!uf9{QC46aI@a5h$nHw#WIz2sx z`_Z4S-M0XiMSL^0F>@uGMqFlSI?RU7Yvg~tAceBz^=vG21z4lzj?t07!blY*|c zDKO8{)OFi=fqFT)s%cCfJ&CC|U-0n4`iSW!q)>x39PYE)XeoERM+<=PcjaBWOIOnC>nTRY~!Xg)XP(+*kxmGWOGf zw6Ym>45Lm^nK{c@#!>Oxx_Zsf2D`gggt<7V);y)LWh}%S1<`=5)gvJ5xT><}67Bm0 z_f&qZpB3xpL7eGTf0F7W(;m*4;L88EF3 z!k{d!{aNA0XLO`(rK1)Jx@T5WMuP6b3!LZvTxr^tZ^@e=vvsq&{{Z~qe~0D( zj06FSm0zlrUqm1PO9&u#`7O2iwPk1etJH>#10c0w1sns&4P*m|a(-!5*Z}sw?0{Tk zK#2;ViuonC;Q+{Q0IC?k>r8++*hfUW@Q8XHUJX~AnpO^aRAPGY=8tY77oB6fGsOP!NUx&!2Pw)#>fGP zh5pOR3Xs(N+6M#%{C@t|m;B{Dztuv7EC5{(^Y70BNNoUSih?Nn*d}0SM zrdWS5r2wsi8DJsF3b-B`089P933Au~p#%Vz^xrEd;K~7LG62)YKPz&6XXpO4+5b0I z6f@(W4F0sDM*)hQ4+G~s!V#-kAc9#X0a0AV;<$HNReV5Fl0htjs8gUe`~zp|X3?Ej z<8Rzmc=MxKjQ$vxK`Dx`+Bg1_@Oy_xsKLyd5GZ-_2Lg{NqCTw7Y~STp=xTzh7++E2 z@(?e{MNH1otCo%rKgh_voUt@^Y4#o|HXJmlSor9IZ3`nS#Z62Ycj@yAunVYLH7P3}+e|cTU|DBa?CSJ-b*>gb zYu7=>O56I^`_6x0`2D@J{R?C2Klac6l`{34O7|;(xM zMiw>>fCBKpwi4Dq3%5?WU=z-G}laQkL{n-jTqx?P#7=jsu5xkHi`$r_R=o|X_ z0qZ?bWnvB>6bj_9VVj}N5F(LMC1)BKgyoyYqQSArrbN!=>!-~0k}>j)3Z1ojjcIx;&I3Ke9|`lwyH;o2z1dG1jb;rl{?tw;eQMij8`P55R<{6HT`G~ zyt4|FZT;Qs?m<{i4H~FhZAB%W0WMsFD@&hyt0}l3*_d>!neSYPB>f$93uXFx1e|Zw z&!_(ts<*&6DHJx5Z3UsXfsML>=lW&XfUjrQ4oC)}q%Rf8YxN}jIlM7LSGYSS42ZZyVw~M{rHGntCJ!VgZWh1)L*@B?LVM5L}PD zUs&UTI#reA9s*GMh3SbmjIQr%{k~L2ROShc$)VdkzXp^u2K zY_bt85g$-rQ$6z6C0o(%7DPlb2JWpFgoM)vC}JVSVc&JOsB2(;#?<5J1a<(9A7L!XIp};TUD0H(33F8&s~m)WYW^f;A>5L$T+SJZobYTn&m+H-)Q*} z1erre4lhuayIYB&6kXhJsu#pDZx0#3NRg%Wv}r&Qo(S>6qC@f-9Vx=|dQ5Ry@3s>C zaY+t)FzZAQOu4>AA!pmJzjM!PoQZNuzi&53$Lv_5Au{Fq7~}eqUl6? zyA@3Y9AqICjen$WFy`9C1T^1XI4PtBX?I%g#E_5ywipGjOaY8y&fpKHBJ*{Z?p98^ z>J!rE`>nJd%D&+JZEp%pA_xP%4O)xyH32cF_qETxlNBU_XRXA7sfp6>ayhRVd>9GB?VaLuAvUKFX!rC^ zkqsk@mH#Rqx~Yfxy~hcM`YJE$_V8y?kYayYkORfpotV$3Q4oaEl}3U=i*!<08eukV znDW%jI5i@0If ze>i)Ejy6H~tUtEXp9j)&lMT0X5lV@J`V4FOG1iyfd|+9BfMKGL;6ygv-j_KpqSyP1 zVN8zWlKP7%H~R$R1AeFj?%3zl?Id!}dsAabyqy;mI2Y|KcN4sD+qby2$VT99v)pS1 z>_8;anT;3ThvBs`_{DWMe3|^8eq+*VL9PruAMYK!3GZE;ry$clL2l!IWyUu7FqXw( zUK7FP)u$I&1dFKZN6swa+@VNFO`JAB9>|xTN1q5EZ zy`aD`nBE}m-C&$_g{{7m2PaSj3Pctt3gzAYhSbk7xIV5DMZ6891L4Kd{^F#61SziJ z#mlJO_$lo6R(u&!2Ql(W#=L@Z{f7_o744(1BuQlSx|0(n0)^-gbkd_`ktq>uG5+c| zFH-d{a(qhSV>QKAU2Mr;g-ZcubJNd&X8}-Z=j)h-B|^=-ZMW5ASbkEX>t&D5G`{n^Sp1ym{iOr#3`j~{BX1Ua+qXa zB)lZ?#9oJZnvc?=&hIAtX!Uc+#u@b_DZ#-~uP-E31Q7qUNo__M-p6fIy6Sly=)c~7 z7p`diV%{)S7bm>0G}5DYP{fBxz|e2 z?ZM{q!k^x-lgJ7PwbYx?zThC&1pMSMI~yGt?p42y;>rd$|Y*K)Qs`3+Rf2 z?MnPA02=5~@s$(1a2lMD4G1Jd4Gt$J2K4DZq-FXZ8ju=i3wgycSR zYVN5m24n8T(GkPvr(EhVqlbqec104d!lvr?n^IbwU83NpUL0p@Uq3$0 zATgaBw9l%fm$b{9ExFEApG`3t>wUXUc9j$FhsPLs8NrSQu%w6_sh&{1g2|w>taLPe z&fAW4YH8Qi4I1Vx;fNgw(ZQUNhi}W>O%Gq* zVn%l`7i7jCHpXH0aP;?W|2bn)OnX@ZDyozvG_TY*i#n_W(7ww?AvZU-T8 z`+Qorcqh63u-wwpou*@B$%z7tpybHXw{c!^%&Wo=Vz&x(prvvT<$Br z$;PN(6xj{3At1LrY-ju-QYKc-X0(fcpH`)}hI@={u{N|&=-0gwC+_9gEpuE7dzYV` zw^&#r%+&P>bELMf^2H!q%j+w|t-K>Uf@!5R`3KkHde7=d$I&si^R)E7>x}hWIPM=w zxAx}wIm9m0@!*m1q<5Fvr`$_#&bQWEZO3)9kp*6Bd|q$Ub!PG3YK<(WriziT`_&V+ ztS&1o?fj@kzt2inYG6*Z3A9$UC|FLGYdV<_-vPrexuI`!0-fS!^*eG{fS$x%v=J6t zeL4jJZo6*q={ww_4Q0YGA*f%3H;FTex2Cf$b8YpUs{cALL{LWgMWcm{Hm7>XMdbFx zZ+$fVOYGC z*oS#beOwzcRM=K>Pxm1P>vHw=69q&w2B;~8x=`{Y8JjZx{kEPG7Nb{@aPJP*lCIQU ziVS%cJ%_cMsY&&7^FfxSx8o!C-I4@#W%2^=HNUZy^!VARr;`QnZH0NsQ5-Wbbe}vE z3Y@;sZmHs|hf!thC?*v%#3yK#XyjsfWlFeg|LcIFA52D}uE`4BO5efV`1T5JsQMy! zq*9Ty zJLR~=7~=I3`kFr0W&JhLKjVXfOnivyy}I^&$oo<=M#qZ{Y{n`E?UO3^*e<(uG#;(_ z)RnpP3x;CN!){~(b11aA#bmN36a2HR2=y$r2eA`+zK=`2{#zRI zzATUfo`Y0q;-PtQQ(R`DisYx!$sXYbQ=EriOJgAi9d;h=t2BvJ+;M}(-wNL6wjtOX zyWp&C{c%<{{=B>S4mlBfk$hufnkDM@o?+(>S3V)_8dn}PjBDekj18G`aBLe^_MTSX z3^@Lw19FPvC!%$iCMCA=7m`d#Y;g2J*b{k7!_f0j)hr(_8GgQsy1h5JzrhB-8Fl}e&6ifdXuk?zjC34q z3;>syzrFa^64W1Md4NQzzhBY+R$5?UVgI8TOG|bbkQ##6dQ5$ni2K#B1sXMsFqiUS z0@CRjxVo0@t2%PE=f%28Bv~MxSY-`&O^pQos)C6l(9>Dj31eqr_*LV=tV94Xxs{lb z{}j`U@nb@bZGeb<2QBdaSXg{5EzoQ5Ea?NBvxyPp3d++Sn!6R*f|u4);(dw3I!6w4 zC)9qXZJ0QHciVR?KjWn=g{tx%=it&oE263uktYPGp#jp>uo%y~6AbjW-KW=Tr%@nx?y%3t*2~>W%46nsn zSY3Fln`r6h-GfTsxV8P8PWW%_pngTS=sW%vjQ&gg=-;)&|G9MZTcG++rK4Z}-=Dh3 zA4*z(D;)u9qyJ~+=+9!iJXKg(jrkaH1BY5GODqw9vfNnIcs}w+D|?ANqv7GkA@-*Fx(_Uo@%eDlR7{r z4w&HIvheXxY1~KncE3jWvF}qb!|Ym(&ohB^P0v9`*xQn=OrXtP0f`QIz$@HRkcYd5 zyC|QfnLrE5slS24q}wEAdt?)(DL*fkR_gu~1A*&DBm2AF=yy}jrqHO`*Z@;{DXGr` zcxCh*;creikOdb+uh~b`rU+S98Ofn#pXp5B;D_$EH7xHIRBQK**9SU%@LyH-vZ=3k z7~P@09!)hOME1!%wS?dT3Uxs(QuymJLv=p#-OOLVJqCt6Qr>3p`Z;qgB@eT_^}6&j zn<8UJ#!7a3F-tmq3`!-Xv_D=W&8Gdh@NkWL%}jTu9C-tOGQ6nz%u)Dyp@8`*p@Sjo zzG~hX6TxWiJp`)z+;yPk_}wDl$zq zku?4?gp{C4l1_32aTvgN`=N?z)s%iIaZUeV!=?Tp6BoC>ZqKJvg{BUOR4?vS45`UmLQ{g8|@ zv;Q#?3ts(M`lt784El|8jP*@KmW%XRcyydA&)f2N&hyshbi$^e;$0wxq;#~(&z7A? zmcTiGcO&eag2RSG8;&Z+xzYZG?URayvga=pz_&0m&=r(7kVS@0oMmDi0BP`snIJ%a@D^1xUTs3Xxxo&S#J7$H`Z2KC`}xPy{I zG*CmqO^kW?vmd$?FP5sa)gtQWVSE^hZnX4P@^1XdS&{CZN+~aIh@4QUIw~)=ku+2d zc#VoX2z%fqd+201ksD_mwgO|MG$!%ujf=nsZ{#>5kZp$bNQ=f|0LbnLgDVuyOuK|V zgNG=LTWnO5IQQe!g^(8z&w}|a<*87pYX8ZHj5aPKCyXWdqyC_6BiWe4jRFDLh}Q4v z+D$ei@a@~f@1kV)$DYdjqS2&XPmBSNJVmro++Z_uy=30j&_xatv12Lf;ZnolKu(DF zZNSWs#=QINm?0`g^=?#oGQfavYcH5WD&s06$E82|%fQCcU+b`pe)=|yYbGTeZqLi8 zhLc~@ME}{|Pjo{K>#R83+EQ>I>K;jy;ofMxfM7y~RtJ4fC*y-9(I_d?_TY%=)it3r z0N=A2#tVass^d$n`=*fu}4$DZjZ1z`WVRq^gX{DfQ4!m|q3^YPbZ`#lz+C$nC$+O~!s_6biz z!GMHI85qQl=<+6wAXrr@uy`fRvRmShclqIceZs{zpf0O9SzGAI&M&>~mWFcy(;!5m z!dq2pl7#YXO-N}59YZ!+0wut!0>RJAKQGQF?jHqI5PxL;TT(Lh2ZKfe7$+ygG$_(h zrFi@=sCwlq(z3Gg2vUcidkM|t39T@w#xMn(Z~^v;KqCjKgxAuJQ7Hs$1o$5<16C-T zHa{Gl#LM4g6%5nGY6Ws^M2h8)CWnc&OEx3yqORlbdN6A`umsUuhT0PhbpQ}u1UzCO z^D}Er(RsPiM$Sra#Eyws0ma5`oTrcJQD99|=jM)D)OfK&`?jXmw|1HC@Bic28$^OqB1O zLQQP%jLukK^W=>aq*?|%7V$&nEW?7sJI#jK+vqS~@I^E5aVkexv}!JICcb@ph9nmH z!2C$hMdezX8A)>uVGYM%wM%reE!_Z6evymTg#3>V(k?9x1&xRCL#=z>NVZh3Qd-|k zTw}WgBJl=O{;09NO-NQESh^*)TKrQx9)t>oV%-dgaU>noH z`Cbgpe4MTR3LvY9y~JDd`t$uur&@%)r=z~+!-|_~^g-@Ep-A4Wai7ODoY$kc@#nVY<>aMjFu`M4TTr|&;*1|${$tLn;M%dvB z_oNqt-WyIDA$Q#j70(dWyNm$RRRmm4c18Gp?C~&bU>-M>qJr9|c~ro;R4fEA>W)5c zXw3VM`4#^^(5g*{MO4e;VFm~FL|0HZcfAb?-!eD|?ukQPd|i(U?rh?Li~yO;MDnDw z7!}l;+m?wrAj_E^8(K8ZU{q5+&v0JQ&!&4+*?rckbV^wkia$EZ!|1Zcw<)ePHg;N; zb=Cos`vY><+pQ|Rv+LV>tbgP;_&IpyZd?VF*oUyNjpC8zSca3_HN&dY zNz|s}gnype1j2G=+KB#OD789__cSYfe`&Lmsrob*^J?8{57N1XYf-zd9#8TWye)b} z{N7W&c3er{50VVnxI-Qk03}2Y6~pWN9j$$K^~8SZ;wYBr z8ao}Ov0syJ6Zpu4?^(fI&QL2Qj}k0eJ-vBxNpZ`Lo*cjM`4E0)jZQP2i)$0bXlDVB8xPD06dBcN|S!WH#Z} z?RheB!knI75SRXocZ7=Qd^qPagR`Nnnl!U}(u|lgnk*0X#o}M`83jw_F}_!SUP>h^WDKI%PUL7y=NqvE#3z(v9To1pi#rOGD`={2 zj3ty1xNS;H%SV^hls)QCZ|Bpdm5!#SZMJj7J_FTs*;Hw!wTr%S#cR{Ju$DxRWM>WL z%M-0KPwUIm)nLR%f1}CH!5&4OQjy6S@A@s)!@Pf+UdN2Z{LGolCSx8G)hnHGtIja|XlC5l zWmu6vpFwe=7O@tDg)$CDxAW@K?zA%W`I15d<$?}f<5K9uA~UPyOct-tvN@Z{;&FF( z{JbqC1Mb;R<9m4A^9!!hQN{tJhEC|4C`L3tOKb?Rshh&w6BUmU=PKu%D=XN$Rvn-F zJu$7!7%cJ?++jjgumATu>Ks?rWDEI3?gLx&Dx0QE9( zR+e!T=|p5SmnKk-dNre)vDUSGKk!Sx4m47Hdf#tM`czv9DJdFpDwyPx zeh3#;6J#fbJ$B@~A5FApXjC{9rK2a^^aRWJ1~a{2jCB;$@|l8!J#+9>2>#7DE!(r! zx4!|-&TaiCGaX<`OT=YbKRMmzJL9|@p5vS+6#C~Lh_<~e+yB9 zxuRy7Uz|w&#WjEJ_hv*3TVXK(^WBt$5N3lWc#M_AElU2hq9LOZh4g3pVwqA43@pzQ z#}7;kk#-`vcvfi7P5LDEyS97K#TEzN*)wIx1L;W@yCXmKH+bH<_y1oB>EAqg{#O!` z=>G&={TJz8|8u`4majyX|0W&%FC2}(h@k(Hy86d_=HIBRFWBclw2c1|&cAf9|DlT! zFnmEhU+>KS?r8j<2lpRu^8Xh!qJLbC8U7+of31Z7v2OYT#{Rky|CNc@zA9M0*d-RG zFD~gzPWu9}{t`*dUwjtF7ox<*@z<#MUu4!l+}2mhZmqAB;$NWEU+ZB8g0DR5|MDkh z`QntmD5fv%=u286VEMwQ{vV#}%cJ;TC62$BWd6&v{XOCfefr|GzV=@^&HvW2e93xW z=l^4!{NKHwzU-v_{l@%l@_&nRV*h`MOp5>b4tKs%c}v41>gz@X$0^Q>3%03z%5YJ2 zng5)M=kI$dK9Fd^^=?#J+N)+a4!@tVG9V^EWT&BYz^YqL^j#VL%5_{URkXhszb8GR z)6rXDJgeDta!O=z#;hq_AzA^C#{ijV@QVaO7=aG|Va{U|O(HhTKdJJ3-ng)hHV|;_ zr&UkY0hYu}kRec_PAgzEJI&)C1BxzMf+flnV8`Csem_=FcNINLV4-|5vMG{6E&J{`05ee^;^k=ZXBEV5fiP z*S{-PUv^^uF+2XdV#UPF!uq8<|5u9Smpv3S^S@7*t1d`)Wszk*@ABVQ-Cd7YvL%m2 zUwKW*ia-KLr~|~Y#J@#fMnaM%e2e#i1p1B+K?&?&WRE?EsO)V23la!~9ppDLE&b1n zyu82-nEofmQgg>1rKK$dL+_E9u>a@WZ}acRp| zVWBQnh>T}pTo7MOVuVFw@B$OXp>LLWHrSwyrM@HPB8~`gATXxE2y}*P2fH)$X*+VY z@qF+m-9m-X4*!4=Q6CWN9|m3>A!vv~R-)+-|6E~%)ZI1xy5hr>l@kq;OB$5 z(XYA;s-_B;mRd2tU-_gDX^W-;tV4KK)%W7_Ry}+@Uq(O@dN(H>Mc3A$pSe65<=MM} z*Q)QB+J+Er`trO&pB&H|#Z+gue);j3-x0USJPoZUr78DERP*zRWkU?n2`w zmUV2RhtTqnkD#0}qM%dG&(Q$ql8|EzE-s@?HW;^RWpfD`T0Q@=klO%Q1oZU24(4&@ zTPw@@LqAqP1AH>}T?|>1NNnsxuIZ3EIQ2lguCxcbDZZCR&Yc93pdu%N9M( z#)fPRi4C$9VR>In$RF&$#P+cbO1{J?94azKYs;u6@WpkESsC*^XTjweok@FYr;#o~ z`XPevGl^EB*C=h}wJW@PXnAbh+W6VMijFDS`YVvbPdMDU_4+)Sa_QrDhRqN@rIm)~ zq}>1#nHgiWLuM2mnLPZhiDKhSFHQKK)4T<`Nk0j9ls4~5Gd#_)WJbvNPZp?7ukLi) z;d9^b^zOL&2#cT%@=N4Nlp&lPl&L~ko~)61k+$}E75Y4;mA1+>Yu1ZArSB`xgVzak zDuAXc__$Xywq6Xd8^02`HdK{WX*@$bf})Qnp?jP6MfdZRf<5jHnOE=xJARNd>~6M6 zu%5*(50Nv*PZGEoGfW@e8{>L}$G%JaVV<7nI%JPo6Yuh#+%lKrjEm_#VbqkmIK^sD zVO?lBvk*YK3)B!ts}CU*OqQpjMo58hgHqU2*#p@#+Dp0t;r&^P>|@xDfi$p>;84&i z-zoPd{U)ta<|*Q$T%|Olx|3(C@TqnF<33eXvapEqOx2>pnO`Y-{u#$QsAReh4<33V zM9~0yQ}9*<-6y*{<_|YwF~k75B;}T{>YSB0)08}o>SN*is69JjsC~6w(Zw0Xx*Ue+ z_$Wr2fY+d=(#D_|136M|kkS6alWmRBMC1}!eG;A;c3#9cnn7MYg!V{-Jydr+c3~2L z?^9SQF`Q%6hXzK3;thITPdUzfu-BeMevCHAhB-w>%Z`<;AP1f-o=6vc%3-`6Xk+!6 zeNw@8Kbbx5WYKj$gZ4?v%-{uSw-U5gme3KDIF> zgfaK`p@Gt^YP3It%rL3>s%662&A4ihvWp-f!3Jsj!eeb1M}|0-;Vw^ai1)$aNX)n^ zPd`eBbi+*V)z^WQR7e9g!LRnz)l_emaET00=)glHKcYs|T# zt_zp7I`WdBSAZ?}l=n%ht&8sz8l7gJ{6RP463@E%!7FE2#J9d4z0XAt_A@y%sYSlM zL4IHxHgT7TJ<#qM^?_b_73A4w;0(>AmL7iR5g|(Pqw*;nu9%`h|2sDMAHuxXEIoGMiZ7==B9X_FdzTDGXE_9d)`0B>~ zZrf@<4sPf$HVF;H47g+Np<@}kaOlW_^QxyAvy7i2EflC(uq0`cL?I8zn(y7U^kY`W zMHLFj7wV{Y&jUlYT>qgg_MXQ4w8^O8$3l0^*JAu#N_RWom_(J)v6v+OT||D7Wke6_ zMof@L{N)18Ed5_U1^3C+X}+_iihFt@TE2Wt-k8qG^c<;5iTmeo9myM(Ih@EsRh*_AAs`X8)y zTGGet2K3EjmNSPAKhe#U*G`$3q*lX$(F^#6-xJ^26aIYbR>B8s^2u{>#HS9e4%DwY zML8V3D|MB3Dcnr`)$pRAA`kb3{Ru)26kznp$@YshrvPsJ6G)VigM-*IEjO=l&z_kp zGa{TB!sDmW<;($3$1$~Ken2nxS}c$(e$-%FRoQ7~Gbm@prk`nTSQVZmV72Y)3qFB&MLd4)z8$+b#>ph zH2$?x$fJ+>;q#}>lxQ9@w25mcQaV|YM6hINJgkyZvE4TEq+~Ow2JtpRN-%)fREVc! zWRXDGA;lmcJEa^S-Q21MAM(xi+!UgV7$*yOuj zeT1dE$4m?aKgbNK2XL&MEn)8ha|APRqLw+ejBJsDG_sKeV$Lwm0z=SnN=qtUHwjfc z@TGs9;PP_ZLd&N`J~WP~TnMeq9?A|Jp^~`8`AK9WL_pQ@A@{9+bs+xhI_R&? z!uGumcTk={-r;ShVtKjYAF6j3a}^#ODU9gvjCUP#xw{;QeRGYh_#?l~+vCBt%qGVV z<}%b9>wk*1=qe&YheiJk`GG$C^FA8&LIFYQH!D4w>G7bT6@5)W2&d6@4v=eK44uVD zz>E;dod-Q~px6PdAfxb{k^rt;1jKR`W`5^=2Pk4VKPa$LZ^?^zY?gg{?EJI4W%Yo;r=P6u?6|#?yGIAqPNBKIF$a`k z9_P_B6@BRWW1sz9jA2Y*oEY>(a@R5p?kPa1o!O?d;Tishig-#^(1Y5Q@w@m;M#)>% z+8F)II4H$Bkk0*yo;xpK6h@DP83J^6hG6j#xCmkSbtTN4#Q9_k!vvw-ghmlYaAhYL zC1^HzBHj=oqX~inET4iY?yE?T_*FzSiWfA`f8RY*lzSJ`INMkZed{4V9#jRg zS}<@E_)+RJ$qZ}83~Ry*>(XyK=yQsS7pYI^=UG`xl^k-W)eva}u=Tk;hQpA|9r!sz zh@BH8bSh#z>qIU(V?aD(0Af05c!xZ9E#QaK6{s8iYr$c+#gUo#xPVTS5AkcZkIYp( z+s71^(6jLlPI>FM0R&?88D4OBFBRFMi$xTTYj9G+pjtd5IFh5pRTM4kYB%P%Yc-iu z&8zl$c~vPeh{U2Mn28a% z=xgwVCW(o2qgyLAWprnwH#A|3vc6?fb-#|MwFk6<`aBdo7y9KlL24@7hgy28p(#|< z-9|b}S2V3xEhz9*XW%6Vm|T}>r_-dcJXNAiXrQxg{UMy5x-H4@RuTIf{hgD>i| zL7?ig6(Iz4=!=#f9Pzb|TIWoXQq9K3H;iz6i?@vTaDK0hUP0=l7>6d8u(heFYgTsp zCI#;vh&AYuMV=mr`(Si*`#)@Tjo;RY+5kiqGbkEUUPz;BjN9s%2YbSp2L{y0A8pmH z`s~up4;5+JV{kf40rQ%7OLN%hGESn{q|fhKq-uk5M)~Iwi6wQl#jKi$r8E(;a7j-s zcNLc;9SJ6n&`H(-;yJl0e^-(WTgEMj*S}!cXt`zqRwT`)pRrhA(O%DSeyiR47-_7PnymI}wbE;r-%Qf|%<@(ld z5DmyS6wN$~YP-@aogwQjOcpwI`(-n3|g1L`uBin(bCOffR5Pm@tJ zyUz=#XM2yz-i0I)}czZs$#6SxK-7_yGg8&j4LfY&2*I9`IS zg|{JyUc%`hdJ%kp|H;EPfgsQY2ZWWPgze#o^&$+$)1x?`XqS3}7IMS{L?Vm`raQt6_t6gmaOeW|!jI?$ zpV5_j#Rnn7M|Kr4LY#j@2~-Bwg{L}XK^!Fc39>|qRR%~QkP-SqCguY>KuPmghDagO zg-ISkr;R&cDHFqi{{`hD4$4t?bPg`4m{aBrY^B5zb9TQ?Z{c_hC32~W3{pq zc18#V0J>Vx2}K|>{5!-Zyr$Q6P;HN5a3v2E;IbOf8hhZo8u8@j zjs<{yiu^;`8Sw;$lyB{%7xNI2p$WI2>h7FU8Y00QM6CKx?q; z1{X(=8#WBFCoC4hZ+8_cmz+)r8%IESmwf-4^ZnB+`{P=#P4@F-X8BC-Em-z*UySqp zHh1D5b%YPK_h_ijuF75`j zOYlEX&+i^T;Lq+rdM@sETwZEqOFq}H?(}M8KPkB0-LgMAWUsYLKCjsF76RUVfSwC= z3(qcBycf^mAd$qdW}?Mr&_(mN$Ag7aZR1l0}!ZC zKZ!+Qol8jqGM3`hyK`2OgJWpknzL00j!PHX-auu63w2j4hCjzs@nQM

UswKBiOk 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 K%+e|{c>f;?>D$l% literal 0 HcmV?d00001 diff --git a/test/foundry/validator/P256Validator.t.sol b/test/foundry/validator/P256Validator.t.sol index 6ffc012f..4f731844 100644 --- a/test/foundry/validator/P256Validator.t.sol +++ b/test/foundry/validator/P256Validator.t.sol @@ -190,7 +190,8 @@ contract P256ValidatorTest is KernelTestBase { } function signHash(bytes32 hash) internal view override returns (bytes memory) { - (uint256 r, uint256 s) = generateSignature(ownerKey, ECDSA.toEthSignedMessageHash(hash)); + (uint256 r, uint256 s) = generateSignature(ownerKey, hash); + return abi.encode(r, s); } From 3fde3b81b56bcc46d3f213504644602d4a623295 Mon Sep 17 00:00:00 2001 From: leekt Date: Wed, 13 Dec 2023 18:08:53 +0900 Subject: [PATCH 13/51] fix: removed duplicate function --- test/foundry/KernelTestBase.sol | 9 --------- 1 file changed, 9 deletions(-) diff --git a/test/foundry/KernelTestBase.sol b/test/foundry/KernelTestBase.sol index 696aec6d..366761c8 100644 --- a/test/foundry/KernelTestBase.sol +++ b/test/foundry/KernelTestBase.sol @@ -115,15 +115,6 @@ abstract contract KernelTestBase is Test { } } - function test_external_call_execute_delegatecall_option_fail() external { - address[] memory validCallers = getOwners(); - for (uint256 i = 0; i < validCallers.length; i++) { - vm.prank(address(uint160(validCallers[i]) + 1)); - vm.expectRevert(); - kernel.executeDelegateCall(validCallers[i], ""); - } - } - function test_external_call_execute_delegatecall_option_fail() external { address[] memory validCallers = getOwners(); for (uint256 i = 0; i < validCallers.length; i++) { From 99c9395c6caca829f3ba910c14da9ad9b4fbfdc1 Mon Sep 17 00:00:00 2001 From: Sahil Vasava Date: Thu, 14 Dec 2023 15:32:11 +0530 Subject: [PATCH 14/51] feat: added delegateCall support in session key (#54) * feat: added delegateCall support in session key * fix: remove deps * feat: added wildcard target permission condition in session key --------- Co-authored-by: taek --- src/common/Structs.sol | 3 +- src/interfaces/IKernel.sol | 2 + src/validator/SessionKeyValidator.sol | 71 ++++++++++----- test/foundry/mock/TestCallee.sol | 7 ++ .../validator/SessionKeyValidator.t.sol | 87 ++++++++++++++----- 5 files changed, 122 insertions(+), 48 deletions(-) diff --git a/src/common/Structs.sol b/src/common/Structs.sol index f2986627..ab957155 100644 --- a/src/common/Structs.sol +++ b/src/common/Structs.sol @@ -1,7 +1,7 @@ pragma solidity ^0.8.0; import {IKernelValidator} from "../interfaces/IKernelValidator.sol"; -import {ParamCondition} from "./Enums.sol"; +import {ParamCondition, Operation} from "./Enums.sol"; import {ValidAfter, ValidUntil} from "./Types.sol"; // Defining a struct for execution details @@ -57,6 +57,7 @@ struct Permission { uint256 valueLimit; ParamRule[] rules; ExecutionRule executionRule; + Operation operation; } struct SessionData { diff --git a/src/interfaces/IKernel.sol b/src/interfaces/IKernel.sol index d0029e6e..ec0b98d6 100644 --- a/src/interfaces/IKernel.sol +++ b/src/interfaces/IKernel.sol @@ -80,6 +80,8 @@ interface IKernel { function executeBatch(Call[] memory calls) external payable; + function executeDelegateCall(address to, bytes memory data) external payable; + /// @notice Validates a user operation based on its mode /// @dev This function will validate user operation and be called by EntryPoint /// @param userOp The user operation to be validated diff --git a/src/validator/SessionKeyValidator.sol b/src/validator/SessionKeyValidator.sol index db2d3e02..8021a452 100644 --- a/src/validator/SessionKeyValidator.sol +++ b/src/validator/SessionKeyValidator.sol @@ -7,7 +7,7 @@ import {IKernelValidator} from "../interfaces/IKernelValidator.sol"; import {UserOperation} from "I4337/interfaces/UserOperation.sol"; import {SIG_VALIDATION_FAILED} from "../common/Constants.sol"; -import {ParamCondition} from "../common/Enums.sol"; +import {ParamCondition, Operation} from "../common/Enums.sol"; import {ParamRule, SessionData, Permission, Call, ExecutionRule, ExecutionStatus, Nonces} from "../common/Structs.sol"; import "../common/Types.sol"; @@ -154,29 +154,13 @@ contract SessionKeyValidator is IKernelValidator { } bytes calldata callData = userOp.callData; - if (bytes4(callData[0:4]) == Kernel.execute.selector) { + if ( + bytes4(callData[0:4]) == Kernel.execute.selector + || bytes4(callData[0:4]) == Kernel.executeDelegateCall.selector + ) { (Permission calldata permission, bytes32[] calldata merkleProof) = _getPermission(userOp.signature[85:]); - require( - address(bytes20(userOp.callData[16:36])) == permission.target, "SessionKeyValidator: target mismatch" - ); - require( - uint256(bytes32(userOp.callData[36:68])) <= permission.valueLimit, - "SessionKeyValidator: value limit exceeded" - ); - bytes calldata data; - assembly { - let dataOffset := add(add(callData.offset, 0x04), calldataload(add(callData.offset, 0x44))) - let length := calldataload(dataOffset) - data.offset := add(dataOffset, 32) - data.length := length - } - require(verifyPermission(data, permission), "SessionKeyValidator: permission verification failed"); - ValidAfter validAfter = - _updateValidAfter(permission, keccak256(abi.encodePacked(session.nonce, permission.index))); - if (ValidAfter.unwrap(validAfter) < ValidAfter.unwrap(session.validAfter)) { - validAfter = session.validAfter; - } - if (!MerkleProofLib.verify(merkleProof, session.merkleRoot, keccak256(abi.encode(permission)))) { + (ValidAfter validAfter, bool verifyFailed) = _verifyParam(sessionKey, callData, permission, merkleProof); + if (verifyFailed) { return SIG_VALIDATION_FAILED; } return _verifyUserOpHash(sessionKey, validAfter, session.validUntil); @@ -240,7 +224,9 @@ contract SessionKeyValidator is IKernelValidator { for (i = 0; i < calls.length; i++) { Call calldata call = calls[i]; Permission calldata permission = _permissions[i]; - require(call.to == permission.target, "SessionKeyValidator: target mismatch"); + require( + permission.target == address(0) || call.to == permission.target, "SessionKeyValidator: target mismatch" + ); require(uint256(bytes32(call.value)) <= permission.valueLimit, "SessionKeyValidator: value limit exceeded"); require(verifyPermission(call.data, permission), "SessionKeyValidator: permission verification failed"); ValidAfter validAfter = @@ -254,6 +240,43 @@ contract SessionKeyValidator is IKernelValidator { } } + function _verifyParam( + address sessionKey, + bytes calldata callData, + Permission calldata _permission, + bytes32[] calldata _merkleProof + ) internal returns (ValidAfter validAfter, bool verifyFailed) { + SessionData storage session = sessionData[sessionKey][msg.sender]; + bool isExecute = bytes4(callData[0:4]) == Kernel.execute.selector; + require( + _permission.target == address(0) || address(bytes20(callData[16:36])) == _permission.target, + "SessionKeyValidator: target mismatch" + ); + if (isExecute) { + require( + uint256(bytes32(callData[36:68])) <= _permission.valueLimit, "SessionKeyValidator: value limit exceeded" + ); + } else { + require(_permission.operation == Operation.DelegateCall, "SessionKeyValidator: operation mismatch"); + } + bytes calldata data; + uint8 dataParamOffset = isExecute ? 0x44 : 0x24; + assembly { + let dataOffset := add(add(callData.offset, 0x04), calldataload(add(callData.offset, dataParamOffset))) + let length := calldataload(dataOffset) + data.offset := add(dataOffset, 32) + data.length := length + } + require(verifyPermission(data, _permission), "SessionKeyValidator: permission verification failed"); + validAfter = _updateValidAfter(_permission, keccak256(abi.encodePacked(session.nonce, _permission.index))); + if (ValidAfter.unwrap(validAfter) < ValidAfter.unwrap(session.validAfter)) { + validAfter = session.validAfter; + } + if (!MerkleProofLib.verify(_merkleProof, session.merkleRoot, keccak256(abi.encode(_permission)))) { + return (validAfter, true); + } + } + function verifyPermission(bytes calldata data, Permission calldata permission) internal pure returns (bool) { if (bytes4(data[0:4]) != permission.sig) return false; for (uint256 i = 0; i < permission.rules.length; i++) { diff --git a/test/foundry/mock/TestCallee.sol b/test/foundry/mock/TestCallee.sol index 2dff256d..05b26543 100644 --- a/test/foundry/mock/TestCallee.sol +++ b/test/foundry/mock/TestCallee.sol @@ -9,5 +9,12 @@ contract TestCallee { result = a + b + msg.value; } + function transferErc20Tester(address token, address to, uint256 amount) external { + (bool success, bytes memory data) = token.call( + abi.encodeWithSignature("transfer(address,uint256)", to, amount) + ); + require(success, string(data)); + } + function notThis() external {} } diff --git a/test/foundry/validator/SessionKeyValidator.t.sol b/test/foundry/validator/SessionKeyValidator.t.sol index 3c7927c5..84de33ed 100644 --- a/test/foundry/validator/SessionKeyValidator.t.sol +++ b/test/foundry/validator/SessionKeyValidator.t.sol @@ -21,18 +21,21 @@ import "src/validator/SessionKeyValidator.sol"; import {KernelECDSATest} from "../KernelECDSA.t.sol"; import "../mock/TestCallee.sol"; +import "../mock/TestERC20.sol"; using ERC4337Utils for IEntryPoint; contract SessionKeyValidatorTest is KernelECDSATest { SessionKeyValidator sessionKeyValidator; TestCallee[] callees; + TestERC20[] erc20s; ExecutionRule execRule; bytes32[] data; address sessionKey; uint256 sessionKeyPriv; TestPaymaster paymaster; TestPaymaster unknownPaymaster; + address recipient; function setUp() public override { super.setUp(); @@ -42,24 +45,47 @@ contract SessionKeyValidatorTest is KernelECDSATest { unknownPaymaster = new TestPaymaster(); entryPoint.depositTo{value: 1e18}(address(unknownPaymaster)); entryPoint.depositTo{value: 1e18}(address(paymaster)); + recipient = makeAddr("recipient"); } - function _setup_permission(uint256 _length) internal returns (Permission[] memory permissions) { + function _setup_permission(uint256 _length, bool isDelegateCall) + internal + returns (Permission[] memory permissions) + { permissions = new Permission[](_length); callees = new TestCallee[](_length); + if (isDelegateCall) { + erc20s = new TestERC20[](_length); + } for (uint8 i = 0; i < _length; i++) { - callees[i] = new TestCallee(); + address target; + bytes4 sig; + if (isDelegateCall) { + erc20s[i] = new TestERC20(); + target = address(callees[i]); + sig = TestCallee.transferErc20Tester.selector; + erc20s[i].mint(address(kernel), 200); + } else { + callees[i] = new TestCallee(); + target = address(callees[i]); + sig = TestCallee.addTester.selector; + } ParamRule[] memory paramRules = new ParamRule[](2); - paramRules[0] = ParamRule({offset: 0, condition: ParamCondition(i % 6), param: bytes32(uint256(100))}); + if (isDelegateCall) { + paramRules[0] = ParamRule({offset: 0, condition: ParamCondition(0), param: bytes32(uint256(uint160(recipient)))}); + } else { + paramRules[0] = ParamRule({offset: 0, condition: ParamCondition(i % 6), param: bytes32(uint256(100))}); + } paramRules[1] = ParamRule({offset: 32, condition: ParamCondition((i + 1) % 6), param: bytes32(uint256(100))}); permissions[i] = Permission({ index: i, - target: address(callees[i]), - sig: TestCallee.addTester.selector, + target: target, + sig: sig, valueLimit: 0, rules: paramRules, - executionRule: execRule + executionRule: execRule, + operation: isDelegateCall ? Operation.DelegateCall : Operation.Call }); } } @@ -154,20 +180,32 @@ contract SessionKeyValidatorTest is KernelECDSATest { uint256 indexToUse, uint8 usingPaymasterMode, bool param1Faulty, - bool param2Faulty + bool param2Faulty, + bool isDelegateCall ) internal view returns (UserOperation memory op) { + bytes4 selector = isDelegateCall ? IKernel.executeDelegateCall.selector : IKernel.execute.selector; op = buildUserOperation( - abi.encodeWithSelector( - IKernel.execute.selector, - permissions[indexToUse].target, - 0, - abi.encodeWithSelector( - permissions[indexToUse].sig, - _generateParam(ParamCondition(indexToUse % 6), !param1Faulty), // since EQ - _generateParam(ParamCondition((indexToUse + 1) % 6), !param2Faulty) // since NOT_EQ - ), - Operation.Call - ) + isDelegateCall + ? abi.encodeWithSelector( + selector, + permissions[indexToUse].target, + abi.encodeWithSelector( + permissions[indexToUse].sig, + recipient, + _generateParam(ParamCondition((indexToUse + 1) % 6), !param2Faulty) // since NOT_EQ + ) + ) + : abi.encodeWithSelector( + selector, + permissions[indexToUse].target, + 0, + abi.encodeWithSelector( + permissions[indexToUse].sig, + _generateParam(ParamCondition(indexToUse % 6), !param1Faulty), // since EQ + _generateParam(ParamCondition((indexToUse + 1) % 6), !param2Faulty) // since NOT_EQ + ), + Operation.Call + ) ); if (usingPaymasterMode != 0) { // 0 = no paymaster @@ -186,7 +224,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { sessionData.nonce ); bytes32 digest = getTypedDataHash( - IKernel.execute.selector, + selector, ValidAfter.unwrap(sessionData.validAfter), ValidUntil.unwrap(sessionData.validUntil), address(sessionKeyValidator), @@ -233,6 +271,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { bool param1Faulty; bool param2Faulty; bool wrongProof; + bool isDelegateCall; } struct BatchTestConfig { @@ -247,6 +286,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { config.runs = 0; config.interval = 0; config.validAfter = 0; // TODO: runs not checked with batch + vm.assume(!config.isDelegateCall); vm.assume(config.indexToUse < config.numberOfPermissions && config.numberOfPermissions > 1); vm.assume( config.validAfter < type(uint32).max && config.interval < type(uint32).max && config.runs < type(uint32).max @@ -271,7 +311,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { validAfter: ValidAfter.wrap(config.validAfter), interval: config.interval }); - Permission[] memory permissions = _setup_permission(config.numberOfPermissions); + Permission[] memory permissions = _setup_permission(config.numberOfPermissions, false); _buildHashes(permissions); (uint128 lastNonce,) = sessionKeyValidator.nonces(address(kernel)); SessionData memory sessionData = SessionData({ @@ -365,7 +405,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { config.paymasterMode = config.paymasterMode % 3; config.usingPaymasterMode = config.usingPaymasterMode % 3; bool shouldFail = (config.usingPaymasterMode < config.paymasterMode) || (1000 < config.validAfter) - || config.faultySig || config.param1Faulty || config.param2Faulty || config.wrongProof; + || config.faultySig || (config.param1Faulty && !config.isDelegateCall) || config.param2Faulty || config.wrongProof; config.runs = config.runs % 10; config.earlyRun = config.runs == 0 ? 0 : config.earlyRun % config.runs; if (config.interval == 0 || config.validAfter == 0) { @@ -382,7 +422,7 @@ contract SessionKeyValidatorTest is KernelECDSATest { validAfter: ValidAfter.wrap(config.validAfter), interval: config.interval }); - Permission[] memory permissions = _setup_permission(config.numberOfPermissions); + Permission[] memory permissions = _setup_permission(config.numberOfPermissions, config.isDelegateCall); _buildHashes(permissions); (uint128 lastNonce,) = sessionKeyValidator.nonces(address(kernel)); SessionData memory sessionData = SessionData({ @@ -399,7 +439,8 @@ contract SessionKeyValidatorTest is KernelECDSATest { config.indexToUse, config.usingPaymasterMode, config.param1Faulty, - config.param2Faulty + config.param2Faulty, + config.isDelegateCall ); op.signature = bytes.concat( op.signature, From 435cac7c5152f65e7948c041eb2a05e6a53b3d74 Mon Sep 17 00:00:00 2001 From: taek Date: Thu, 14 Dec 2023 20:43:37 +0900 Subject: [PATCH 15/51] fmt (#60) --- test/foundry/mock/TestCallee.sol | 4 +--- test/foundry/validator/SessionKeyValidator.t.sol | 6 ++++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/test/foundry/mock/TestCallee.sol b/test/foundry/mock/TestCallee.sol index 05b26543..d3528a9f 100644 --- a/test/foundry/mock/TestCallee.sol +++ b/test/foundry/mock/TestCallee.sol @@ -10,9 +10,7 @@ contract TestCallee { } function transferErc20Tester(address token, address to, uint256 amount) external { - (bool success, bytes memory data) = token.call( - abi.encodeWithSignature("transfer(address,uint256)", to, amount) - ); + (bool success, bytes memory data) = token.call(abi.encodeWithSignature("transfer(address,uint256)", to, amount)); require(success, string(data)); } diff --git a/test/foundry/validator/SessionKeyValidator.t.sol b/test/foundry/validator/SessionKeyValidator.t.sol index 84de33ed..e9b75105 100644 --- a/test/foundry/validator/SessionKeyValidator.t.sol +++ b/test/foundry/validator/SessionKeyValidator.t.sol @@ -72,7 +72,8 @@ contract SessionKeyValidatorTest is KernelECDSATest { } ParamRule[] memory paramRules = new ParamRule[](2); if (isDelegateCall) { - paramRules[0] = ParamRule({offset: 0, condition: ParamCondition(0), param: bytes32(uint256(uint160(recipient)))}); + paramRules[0] = + ParamRule({offset: 0, condition: ParamCondition(0), param: bytes32(uint256(uint160(recipient)))}); } else { paramRules[0] = ParamRule({offset: 0, condition: ParamCondition(i % 6), param: bytes32(uint256(100))}); } @@ -405,7 +406,8 @@ contract SessionKeyValidatorTest is KernelECDSATest { config.paymasterMode = config.paymasterMode % 3; config.usingPaymasterMode = config.usingPaymasterMode % 3; bool shouldFail = (config.usingPaymasterMode < config.paymasterMode) || (1000 < config.validAfter) - || config.faultySig || (config.param1Faulty && !config.isDelegateCall) || config.param2Faulty || config.wrongProof; + || config.faultySig || (config.param1Faulty && !config.isDelegateCall) || config.param2Faulty + || config.wrongProof; config.runs = config.runs % 10; config.earlyRun = config.runs == 0 ? 0 : config.earlyRun % config.runs; if (config.interval == 0 || config.validAfter == 0) { From 50b16de41cdf03ea666dbb85f7b02ed7753da775 Mon Sep 17 00:00:00 2001 From: taek Date: Thu, 14 Dec 2023 20:46:26 +0900 Subject: [PATCH 16/51] Script/deploy recovery (#59) * added broadcast to git * script for recovery deployment * recovery plugin on arbitrum goerli and base goerli * deployed to base --- .gitignore | 4 +- .../1/run-1701086814.json | 32 ++ .../1/run-1701086856.json | 32 ++ .../1/run-1701086878.json | 32 ++ .../1/run-1701087183.json | 32 ++ .../1/run-1701087229.json | 34 ++ .../1/run-1701087330.json | 49 +++ .../1/run-latest.json | 49 +++ .../1261120/run-1701085835.json | 202 +++++++++ .../1261120/run-1701086061.json | 213 ++++++++++ .../1261120/run-1701086068.json | 389 ++++++++++++++++++ .../1261120/run-latest.json | 389 ++++++++++++++++++ .../42069/run-1701086188.json | 213 ++++++++++ .../42069/run-1701086195.json | 379 +++++++++++++++++ .../42069/run-latest.json | 379 +++++++++++++++++ .../204/run-1699462898.json | 34 ++ .../204/run-1699462905.json | 49 +++ .../204/run-latest.json | 49 +++ .../59140/run-1699462471.json | 34 ++ .../59140/run-1699462484.json | 49 +++ .../59140/run-latest.json | 49 +++ .../59144/run-1699461175.json | 34 ++ .../59144/run-1699461182.json | 49 +++ .../59144/run-1699461632.json | 34 ++ .../59144/run-1699461639.json | 49 +++ .../59144/run-latest.json | 49 +++ .../DeployKernel.s.sol/1/run-1698336646.json | 102 +++++ .../DeployKernel.s.sol/1/run-1698336653.json | 162 ++++++++ .../DeployKernel.s.sol/10/run-1698336597.json | 102 +++++ .../DeployKernel.s.sol/10/run-1698336604.json | 162 ++++++++ .../11155111/run-1698379717.json | 102 +++++ .../11155111/run-1698379731.json | 162 ++++++++ .../11155111/run-latest.json | 162 ++++++++ .../137/run-1698336456.json | 102 +++++ .../137/run-1698336463.json | 230 +++++++++++ .../204/run-1699462945.json | 123 ++++++ .../204/run-1699462952.json | 214 ++++++++++ .../DeployKernel.s.sol/204/run-latest.json | 214 ++++++++++ .../420/run-1698330343.json | 98 +++++ .../420/run-1698330350.json | 158 +++++++ .../420/run-1698335726.json | 98 +++++ .../420/run-1698335733.json | 158 +++++++ .../42161/run-1698336344.json | 97 +++++ .../42161/run-1698336378.json | 97 +++++ .../42161/run-1698336431.json | 97 +++++ .../42161/run-1698336696.json | 97 +++++ .../42161/run-1698337477.json | 162 ++++++++ .../421613/run-1698330315.json | 158 +++++++ .../421613/run-1698335664.json | 158 +++++++ .../43113/run-1698330908.json | 78 ++++ .../43113/run-1698330921.json | 123 ++++++ .../43113/run-1698333957.json | 58 +++ .../43113/run-1698333964.json | 88 ++++ .../43113/run-1698335859.json | 102 +++++ .../43113/run-1698335891.json | 130 ++++++ .../43113/run-1698335919.json | 54 +++ .../43113/run-1698335987.json | 54 +++ .../43113/run-1698336192.json | 54 +++ .../43113/run-1698336263.json | 56 +++ .../43114/run-1698333843.json | 78 ++++ .../43114/run-1698333856.json | 123 ++++++ .../43114/run-1698336309.json | 102 +++++ .../43114/run-1698336316.json | 162 ++++++++ .../DeployKernel.s.sol/5/run-1698330259.json | 98 +++++ .../DeployKernel.s.sol/5/run-1698330272.json | 158 +++++++ .../DeployKernel.s.sol/5/run-1698335490.json | 58 +++ .../DeployKernel.s.sol/5/run-1698335523.json | 88 ++++ .../DeployKernel.s.sol/5/run-1698335603.json | 53 +++ .../DeployKernel.s.sol/5/run-1698335622.json | 83 ++++ .../DeployKernel.s.sol/56/run-1698336552.json | 98 +++++ .../DeployKernel.s.sol/56/run-1698336565.json | 158 +++++++ .../59140/run-1699462521.json | 119 ++++++ .../DeployKernel.s.sol/59140/run-latest.json | 119 ++++++ .../59144/run-1699461069.json | 108 +++++ .../59144/run-1699461089.json | 184 +++++++++ .../59144/run-1699462232.json | 100 +++++ .../59144/run-1699462239.json | 176 ++++++++ .../DeployKernel.s.sol/59144/run-latest.json | 176 ++++++++ .../80001/run-1698330217.json | 98 +++++ .../80001/run-1698330224.json | 226 ++++++++++ .../80001/run-1698335824.json | 98 +++++ .../80001/run-1698335831.json | 226 ++++++++++ .../8453/run-1698336502.json | 102 +++++ .../8453/run-1698336509.json | 162 ++++++++ .../84531/run-1698330423.json | 100 +++++ .../84531/run-1698330659.json | 54 +++ .../84531/run-1698330727.json | 76 ++++ .../84531/run-1698330835.json | 36 ++ .../84531/run-1698330836.json | 51 +++ .../84531/run-1698335756.json | 102 +++++ .../84531/run-1698335763.json | 162 ++++++++ .../1/run-1700063969.json | 97 +++++ .../1/run-1700065064.json | 97 +++++ .../1/run-1700065169.json | 97 +++++ .../1/run-1700065197.json | 97 +++++ .../1/run-1700065236.json | 97 +++++ .../1/run-1700065323.json | 97 +++++ .../1/run-1700065477.json | 97 +++++ .../1/run-1700065516.json | 97 +++++ .../1/run-1700065552.json | 97 +++++ .../1/run-1700065623.json | 99 +++++ .../1/run-1700065645.json | 97 +++++ .../1/run-1700065756.json | 97 +++++ .../1/run-1700066026.json | 97 +++++ .../1/run-1700066147.json | 97 +++++ .../1/run-1700066555.json | 60 +++ .../1/run-1700066580.json | 74 ++++ .../1/run-1700066641.json | 74 ++++ .../1/run-1700066687.json | 34 ++ .../1/run-1700066767.json | 34 ++ .../1/run-1700069415.json | 34 ++ .../1/run-latest.json | 34 ++ .../10/run-1700064014.json | 102 +++++ .../10/run-1700064021.json | 162 ++++++++ .../10/run-latest.json | 162 ++++++++ .../100/run-1700068916.json | 102 +++++ .../100/run-1700068936.json | 162 ++++++++ .../100/run-latest.json | 162 ++++++++ .../10200/run-1700068686.json | 57 +++ .../10200/run-1700068694.json | 87 ++++ .../10200/run-latest.json | 87 ++++ .../11155111/run-1700063857.json | 102 +++++ .../11155111/run-1700063870.json | 162 ++++++++ .../11155111/run-latest.json | 162 ++++++++ .../137/run-1700064159.json | 102 +++++ .../137/run-1700064172.json | 230 +++++++++++ .../137/run-latest.json | 230 +++++++++++ .../204/run-1700063658.json | 102 +++++ .../204/run-1700063665.json | 162 ++++++++ .../204/run-latest.json | 162 ++++++++ .../420/run-1700064886.json | 98 +++++ .../420/run-1700064892.json | 158 +++++++ .../420/run-latest.json | 158 +++++++ .../42161/run-1700063926.json | 162 ++++++++ .../42161/run-latest.json | 162 ++++++++ .../421613/run-1700064995.json | 162 ++++++++ .../421613/run-latest.json | 162 ++++++++ .../43113/run-1700064283.json | 102 +++++ .../43113/run-1700064296.json | 162 ++++++++ .../43113/run-latest.json | 162 ++++++++ .../43114/run-1700064217.json | 102 +++++ .../43114/run-1700064230.json | 162 ++++++++ .../43114/run-latest.json | 162 ++++++++ .../5/run-1700065028.json | 102 +++++ .../5/run-1700065035.json | 162 ++++++++ .../5/run-latest.json | 162 ++++++++ .../56/run-1700064070.json | 98 +++++ .../56/run-1700064077.json | 158 +++++++ .../56/run-latest.json | 158 +++++++ .../59140/run-1700063705.json | 97 +++++ .../59140/run-1700063724.json | 97 +++++ .../59140/run-latest.json | 97 +++++ .../59144/run-1700063791.json | 102 +++++ .../59144/run-1700063804.json | 162 ++++++++ .../59144/run-latest.json | 162 ++++++++ .../80001/run-1700064339.json | 98 +++++ .../80001/run-1700064346.json | 226 ++++++++++ .../80001/run-latest.json | 226 ++++++++++ .../8453/run-1700064110.json | 102 +++++ .../8453/run-1700064116.json | 162 ++++++++ .../8453/run-latest.json | 162 ++++++++ .../84531/run-1700064453.json | 102 +++++ .../84531/run-1700064479.json | 130 ++++++ .../84531/run-1700064587.json | 54 +++ .../84531/run-1700064605.json | 54 +++ .../84531/run-1700064686.json | 54 +++ .../84531/run-1700064700.json | 54 +++ .../84531/run-1700064725.json | 54 +++ .../84531/run-1700064817.json | 56 +++ .../84531/run-latest.json | 56 +++ .../421613/run-1702478595.json | 49 +++ .../421613/run-latest.json | 49 +++ .../80001/run-1702475514.json | 53 +++ .../80001/run-1702475521.json | 117 ++++++ .../80001/run-1702476827.json | 32 ++ .../80001/run-1702477060.json | 32 ++ .../80001/run-1702477287.json | 34 ++ .../80001/run-1702477294.json | 66 +++ .../80001/run-latest.json | 66 +++ .../8453/run-1702481282.json | 32 ++ .../8453/run-1702481314.json | 32 ++ .../8453/run-1702482239.json | 34 ++ .../8453/run-1702482245.json | 49 +++ .../DeployRecovery.s.sol/8453/run-latest.json | 49 +++ .../84531/run-1702478181.json | 34 ++ .../84531/run-1702478188.json | 49 +++ .../84531/run-latest.json | 49 +++ .../1/run-1700069198.json | 32 ++ .../1/run-1700069248.json | 32 ++ .../1/run-1700069272.json | 32 ++ .../1/run-1700069314.json | 32 ++ .../1/run-1700069351.json | 34 ++ .../1/run-1700069358.json | 49 +++ .../DeploySessionKey.s.sol/1/run-latest.json | 49 +++ .../10/run-1700068064.json | 33 ++ .../10/run-1700068070.json | 48 +++ .../DeploySessionKey.s.sol/10/run-latest.json | 48 +++ .../100/run-1700068557.json | 34 ++ .../100/run-1700068564.json | 49 +++ .../100/run-latest.json | 49 +++ .../10200/run-1700068625.json | 34 ++ .../10200/run-1700068638.json | 49 +++ .../10200/run-latest.json | 49 +++ .../11155111/run-1700069563.json | 34 ++ .../11155111/run-1700069570.json | 49 +++ .../11155111/run-latest.json | 49 +++ .../137/run-1700067075.json | 33 ++ .../137/run-1700067082.json | 65 +++ .../137/run-latest.json | 65 +++ .../204/run-1700068288.json | 34 ++ .../204/run-1700068295.json | 49 +++ .../204/run-latest.json | 49 +++ .../420/run-1700068033.json | 33 ++ .../420/run-1700068040.json | 48 +++ .../420/run-latest.json | 48 +++ .../42161/run-1700068004.json | 48 +++ .../42161/run-latest.json | 48 +++ .../421613/run-1700067964.json | 48 +++ .../421613/run-latest.json | 48 +++ .../43113/run-1700068145.json | 34 ++ .../43113/run-1700068152.json | 49 +++ .../43113/run-latest.json | 49 +++ .../43114/run-1700068109.json | 34 ++ .../43114/run-1700068122.json | 49 +++ .../43114/run-latest.json | 49 +++ .../5/run-1700069042.json | 34 ++ .../5/run-1700069055.json | 49 +++ .../DeploySessionKey.s.sol/5/run-latest.json | 49 +++ .../56/run-1700068415.json | 33 ++ .../56/run-1700068422.json | 48 +++ .../DeploySessionKey.s.sol/56/run-latest.json | 48 +++ .../59140/run-1699462569.json | 34 ++ .../59140/run-1699462582.json | 49 +++ .../59140/run-1700066889.json | 34 ++ .../59140/run-1700066895.json | 49 +++ .../59140/run-latest.json | 49 +++ .../59144/run-1699461129.json | 34 ++ .../59144/run-1699461149.json | 49 +++ .../59144/run-1700066841.json | 34 ++ .../59144/run-1700066847.json | 49 +++ .../59144/run-latest.json | 49 +++ .../8453/run-1700068228.json | 34 ++ .../8453/run-1700068235.json | 49 +++ .../8453/run-latest.json | 49 +++ .../84531/run-1700068201.json | 34 ++ .../84531/run-1700068208.json | 49 +++ .../84531/run-latest.json | 49 +++ .../80001/run-1694169616.json | 33 -- .../80001/run-1694169660.json | 65 --- .../80001/run-1694176464.json | 33 -- .../80001/run-1694176476.json | 65 --- .../80001/run-1694423209.json | 33 -- .../80001/run-1694423222.json | 65 --- .../80001/run-1694429050.json | 33 -- .../80001/run-1694429057.json | 65 --- .../80001/run-1694507612.json | 33 -- .../80001/run-1694507650.json | 65 --- .../80001/run-1694884855.json | 33 -- .../80001/run-1694884893.json | 65 --- .../80001/run-1695305019.json | 33 -- .../1/run-1698380171.json | 34 ++ .../1/run-1698380190.json | 64 +++ .../5/run-1698121485.json | 34 ++ .../5/run-1698121504.json | 64 +++ .../StakeToFactory.s.sol/5/run-latest.json | 64 +++ foundry.toml | 11 +- scripts/DeployRecovery.s.sol | 19 + 267 files changed, 23648 insertions(+), 624 deletions(-) create mode 100644 broadcast/DeployDeterministic.s.sol/1/run-1701086814.json create mode 100644 broadcast/DeployDeterministic.s.sol/1/run-1701086856.json create mode 100644 broadcast/DeployDeterministic.s.sol/1/run-1701086878.json create mode 100644 broadcast/DeployDeterministic.s.sol/1/run-1701087183.json create mode 100644 broadcast/DeployDeterministic.s.sol/1/run-1701087229.json create mode 100644 broadcast/DeployDeterministic.s.sol/1/run-1701087330.json create mode 100644 broadcast/DeployDeterministic.s.sol/1/run-latest.json create mode 100644 broadcast/DeployDeterministic.s.sol/1261120/run-1701085835.json create mode 100644 broadcast/DeployDeterministic.s.sol/1261120/run-1701086061.json create mode 100644 broadcast/DeployDeterministic.s.sol/1261120/run-1701086068.json create mode 100644 broadcast/DeployDeterministic.s.sol/1261120/run-latest.json create mode 100644 broadcast/DeployDeterministic.s.sol/42069/run-1701086188.json create mode 100644 broadcast/DeployDeterministic.s.sol/42069/run-1701086195.json create mode 100644 broadcast/DeployDeterministic.s.sol/42069/run-latest.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/204/run-1699462898.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/204/run-1699462905.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/204/run-latest.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/59140/run-1699462471.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/59140/run-1699462484.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/59140/run-latest.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/59144/run-1699461175.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/59144/run-1699461182.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/59144/run-1699461632.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/59144/run-1699461639.json create mode 100644 broadcast/DeployECDSAValidator.s.sol/59144/run-latest.json create mode 100644 broadcast/DeployKernel.s.sol/1/run-1698336646.json create mode 100644 broadcast/DeployKernel.s.sol/1/run-1698336653.json create mode 100644 broadcast/DeployKernel.s.sol/10/run-1698336597.json create mode 100644 broadcast/DeployKernel.s.sol/10/run-1698336604.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1698379717.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-1698379731.json create mode 100644 broadcast/DeployKernel.s.sol/11155111/run-latest.json create mode 100644 broadcast/DeployKernel.s.sol/137/run-1698336456.json create mode 100644 broadcast/DeployKernel.s.sol/137/run-1698336463.json create mode 100644 broadcast/DeployKernel.s.sol/204/run-1699462945.json create mode 100644 broadcast/DeployKernel.s.sol/204/run-1699462952.json create mode 100644 broadcast/DeployKernel.s.sol/204/run-latest.json create mode 100644 broadcast/DeployKernel.s.sol/420/run-1698330343.json create mode 100644 broadcast/DeployKernel.s.sol/420/run-1698330350.json create mode 100644 broadcast/DeployKernel.s.sol/420/run-1698335726.json create mode 100644 broadcast/DeployKernel.s.sol/420/run-1698335733.json create mode 100644 broadcast/DeployKernel.s.sol/42161/run-1698336344.json create mode 100644 broadcast/DeployKernel.s.sol/42161/run-1698336378.json create mode 100644 broadcast/DeployKernel.s.sol/42161/run-1698336431.json create mode 100644 broadcast/DeployKernel.s.sol/42161/run-1698336696.json create mode 100644 broadcast/DeployKernel.s.sol/42161/run-1698337477.json create mode 100644 broadcast/DeployKernel.s.sol/421613/run-1698330315.json create mode 100644 broadcast/DeployKernel.s.sol/421613/run-1698335664.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698330908.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698330921.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698333957.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698333964.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698335859.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698335891.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698335919.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698335987.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698336192.json create mode 100644 broadcast/DeployKernel.s.sol/43113/run-1698336263.json create mode 100644 broadcast/DeployKernel.s.sol/43114/run-1698333843.json create mode 100644 broadcast/DeployKernel.s.sol/43114/run-1698333856.json create mode 100644 broadcast/DeployKernel.s.sol/43114/run-1698336309.json create mode 100644 broadcast/DeployKernel.s.sol/43114/run-1698336316.json create mode 100644 broadcast/DeployKernel.s.sol/5/run-1698330259.json create mode 100644 broadcast/DeployKernel.s.sol/5/run-1698330272.json create mode 100644 broadcast/DeployKernel.s.sol/5/run-1698335490.json create mode 100644 broadcast/DeployKernel.s.sol/5/run-1698335523.json create mode 100644 broadcast/DeployKernel.s.sol/5/run-1698335603.json create mode 100644 broadcast/DeployKernel.s.sol/5/run-1698335622.json create mode 100644 broadcast/DeployKernel.s.sol/56/run-1698336552.json create mode 100644 broadcast/DeployKernel.s.sol/56/run-1698336565.json create mode 100644 broadcast/DeployKernel.s.sol/59140/run-1699462521.json create mode 100644 broadcast/DeployKernel.s.sol/59140/run-latest.json create mode 100644 broadcast/DeployKernel.s.sol/59144/run-1699461069.json create mode 100644 broadcast/DeployKernel.s.sol/59144/run-1699461089.json create mode 100644 broadcast/DeployKernel.s.sol/59144/run-1699462232.json create mode 100644 broadcast/DeployKernel.s.sol/59144/run-1699462239.json create mode 100644 broadcast/DeployKernel.s.sol/59144/run-latest.json create mode 100644 broadcast/DeployKernel.s.sol/80001/run-1698330217.json create mode 100644 broadcast/DeployKernel.s.sol/80001/run-1698330224.json create mode 100644 broadcast/DeployKernel.s.sol/80001/run-1698335824.json create mode 100644 broadcast/DeployKernel.s.sol/80001/run-1698335831.json create mode 100644 broadcast/DeployKernel.s.sol/8453/run-1698336502.json create mode 100644 broadcast/DeployKernel.s.sol/8453/run-1698336509.json create mode 100644 broadcast/DeployKernel.s.sol/84531/run-1698330423.json create mode 100644 broadcast/DeployKernel.s.sol/84531/run-1698330659.json create mode 100644 broadcast/DeployKernel.s.sol/84531/run-1698330727.json create mode 100644 broadcast/DeployKernel.s.sol/84531/run-1698330835.json create mode 100644 broadcast/DeployKernel.s.sol/84531/run-1698330836.json create mode 100644 broadcast/DeployKernel.s.sol/84531/run-1698335756.json create mode 100644 broadcast/DeployKernel.s.sol/84531/run-1698335763.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700063969.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065064.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065169.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065197.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065236.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065323.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065477.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065516.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065552.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065623.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065645.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700065756.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700066026.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700066147.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700066555.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700066580.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700066641.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700066687.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700066767.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-1700069415.json create mode 100644 broadcast/DeployKernelInitial.s.sol/1/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/10/run-1700064014.json create mode 100644 broadcast/DeployKernelInitial.s.sol/10/run-1700064021.json create mode 100644 broadcast/DeployKernelInitial.s.sol/10/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/100/run-1700068916.json create mode 100644 broadcast/DeployKernelInitial.s.sol/100/run-1700068936.json create mode 100644 broadcast/DeployKernelInitial.s.sol/100/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/10200/run-1700068686.json create mode 100644 broadcast/DeployKernelInitial.s.sol/10200/run-1700068694.json create mode 100644 broadcast/DeployKernelInitial.s.sol/10200/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/11155111/run-1700063857.json create mode 100644 broadcast/DeployKernelInitial.s.sol/11155111/run-1700063870.json create mode 100644 broadcast/DeployKernelInitial.s.sol/11155111/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/137/run-1700064159.json create mode 100644 broadcast/DeployKernelInitial.s.sol/137/run-1700064172.json create mode 100644 broadcast/DeployKernelInitial.s.sol/137/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/204/run-1700063658.json create mode 100644 broadcast/DeployKernelInitial.s.sol/204/run-1700063665.json create mode 100644 broadcast/DeployKernelInitial.s.sol/204/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/420/run-1700064886.json create mode 100644 broadcast/DeployKernelInitial.s.sol/420/run-1700064892.json create mode 100644 broadcast/DeployKernelInitial.s.sol/420/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/42161/run-1700063926.json create mode 100644 broadcast/DeployKernelInitial.s.sol/42161/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/421613/run-1700064995.json create mode 100644 broadcast/DeployKernelInitial.s.sol/421613/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/43113/run-1700064283.json create mode 100644 broadcast/DeployKernelInitial.s.sol/43113/run-1700064296.json create mode 100644 broadcast/DeployKernelInitial.s.sol/43113/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/43114/run-1700064217.json create mode 100644 broadcast/DeployKernelInitial.s.sol/43114/run-1700064230.json create mode 100644 broadcast/DeployKernelInitial.s.sol/43114/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/5/run-1700065028.json create mode 100644 broadcast/DeployKernelInitial.s.sol/5/run-1700065035.json create mode 100644 broadcast/DeployKernelInitial.s.sol/5/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/56/run-1700064070.json create mode 100644 broadcast/DeployKernelInitial.s.sol/56/run-1700064077.json create mode 100644 broadcast/DeployKernelInitial.s.sol/56/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/59140/run-1700063705.json create mode 100644 broadcast/DeployKernelInitial.s.sol/59140/run-1700063724.json create mode 100644 broadcast/DeployKernelInitial.s.sol/59140/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/59144/run-1700063791.json create mode 100644 broadcast/DeployKernelInitial.s.sol/59144/run-1700063804.json create mode 100644 broadcast/DeployKernelInitial.s.sol/59144/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/80001/run-1700064339.json create mode 100644 broadcast/DeployKernelInitial.s.sol/80001/run-1700064346.json create mode 100644 broadcast/DeployKernelInitial.s.sol/80001/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/8453/run-1700064110.json create mode 100644 broadcast/DeployKernelInitial.s.sol/8453/run-1700064116.json create mode 100644 broadcast/DeployKernelInitial.s.sol/8453/run-latest.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-1700064453.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-1700064479.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-1700064587.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-1700064605.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-1700064686.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-1700064700.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-1700064725.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-1700064817.json create mode 100644 broadcast/DeployKernelInitial.s.sol/84531/run-latest.json create mode 100644 broadcast/DeployRecovery.s.sol/421613/run-1702478595.json create mode 100644 broadcast/DeployRecovery.s.sol/421613/run-latest.json create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-1702475514.json create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-1702475521.json create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-1702476827.json create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-1702477060.json create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-1702477287.json create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-1702477294.json create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-latest.json create mode 100644 broadcast/DeployRecovery.s.sol/8453/run-1702481282.json create mode 100644 broadcast/DeployRecovery.s.sol/8453/run-1702481314.json create mode 100644 broadcast/DeployRecovery.s.sol/8453/run-1702482239.json create mode 100644 broadcast/DeployRecovery.s.sol/8453/run-1702482245.json create mode 100644 broadcast/DeployRecovery.s.sol/8453/run-latest.json create mode 100644 broadcast/DeployRecovery.s.sol/84531/run-1702478181.json create mode 100644 broadcast/DeployRecovery.s.sol/84531/run-1702478188.json create mode 100644 broadcast/DeployRecovery.s.sol/84531/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1700069198.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1700069248.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1700069272.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1700069314.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1700069351.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1700069358.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/10/run-1700068064.json create mode 100644 broadcast/DeploySessionKey.s.sol/10/run-1700068070.json create mode 100644 broadcast/DeploySessionKey.s.sol/10/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/100/run-1700068557.json create mode 100644 broadcast/DeploySessionKey.s.sol/100/run-1700068564.json create mode 100644 broadcast/DeploySessionKey.s.sol/100/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/10200/run-1700068625.json create mode 100644 broadcast/DeploySessionKey.s.sol/10200/run-1700068638.json create mode 100644 broadcast/DeploySessionKey.s.sol/10200/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/11155111/run-1700069563.json create mode 100644 broadcast/DeploySessionKey.s.sol/11155111/run-1700069570.json create mode 100644 broadcast/DeploySessionKey.s.sol/11155111/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/137/run-1700067075.json create mode 100644 broadcast/DeploySessionKey.s.sol/137/run-1700067082.json create mode 100644 broadcast/DeploySessionKey.s.sol/137/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/204/run-1700068288.json create mode 100644 broadcast/DeploySessionKey.s.sol/204/run-1700068295.json create mode 100644 broadcast/DeploySessionKey.s.sol/204/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/420/run-1700068033.json create mode 100644 broadcast/DeploySessionKey.s.sol/420/run-1700068040.json create mode 100644 broadcast/DeploySessionKey.s.sol/420/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/42161/run-1700068004.json create mode 100644 broadcast/DeploySessionKey.s.sol/42161/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/421613/run-1700067964.json create mode 100644 broadcast/DeploySessionKey.s.sol/421613/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/43113/run-1700068145.json create mode 100644 broadcast/DeploySessionKey.s.sol/43113/run-1700068152.json create mode 100644 broadcast/DeploySessionKey.s.sol/43113/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/43114/run-1700068109.json create mode 100644 broadcast/DeploySessionKey.s.sol/43114/run-1700068122.json create mode 100644 broadcast/DeploySessionKey.s.sol/43114/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/5/run-1700069042.json create mode 100644 broadcast/DeploySessionKey.s.sol/5/run-1700069055.json create mode 100644 broadcast/DeploySessionKey.s.sol/5/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/56/run-1700068415.json create mode 100644 broadcast/DeploySessionKey.s.sol/56/run-1700068422.json create mode 100644 broadcast/DeploySessionKey.s.sol/56/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/59140/run-1699462569.json create mode 100644 broadcast/DeploySessionKey.s.sol/59140/run-1699462582.json create mode 100644 broadcast/DeploySessionKey.s.sol/59140/run-1700066889.json create mode 100644 broadcast/DeploySessionKey.s.sol/59140/run-1700066895.json create mode 100644 broadcast/DeploySessionKey.s.sol/59140/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/59144/run-1699461129.json create mode 100644 broadcast/DeploySessionKey.s.sol/59144/run-1699461149.json create mode 100644 broadcast/DeploySessionKey.s.sol/59144/run-1700066841.json create mode 100644 broadcast/DeploySessionKey.s.sol/59144/run-1700066847.json create mode 100644 broadcast/DeploySessionKey.s.sol/59144/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/8453/run-1700068228.json create mode 100644 broadcast/DeploySessionKey.s.sol/8453/run-1700068235.json create mode 100644 broadcast/DeploySessionKey.s.sol/8453/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/84531/run-1700068201.json create mode 100644 broadcast/DeploySessionKey.s.sol/84531/run-1700068208.json create mode 100644 broadcast/DeploySessionKey.s.sol/84531/run-latest.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169616.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169660.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176464.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176476.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423209.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423222.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429050.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429057.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507612.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507650.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884855.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884893.json delete mode 100644 broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305019.json create mode 100644 broadcast/StakeToFactory.s.sol/1/run-1698380171.json create mode 100644 broadcast/StakeToFactory.s.sol/1/run-1698380190.json create mode 100644 broadcast/StakeToFactory.s.sol/5/run-1698121485.json create mode 100644 broadcast/StakeToFactory.s.sol/5/run-1698121504.json create mode 100644 broadcast/StakeToFactory.s.sol/5/run-latest.json create mode 100644 scripts/DeployRecovery.s.sol diff --git a/.gitignore b/.gitignore index 83d5c0c6..3978feff 100644 --- a/.gitignore +++ b/.gitignore @@ -6,8 +6,8 @@ types/ # Ignores development broadcast logs !/broadcast -/broadcast/* -/broadcast/* +/broadcast/*/31337/ +/broadcast/**/dry-run/ # Docs docs/ diff --git a/broadcast/DeployDeterministic.s.sol/1/run-1701086814.json b/broadcast/DeployDeterministic.s.sol/1/run-1701086814.json new file mode 100644 index 00000000..cd1aa74e --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1/run-1701086814.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1701086814, + "chain": 1, + "multi": false, + "commit": "5489a23" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1/run-1701086856.json b/broadcast/DeployDeterministic.s.sol/1/run-1701086856.json new file mode 100644 index 00000000..745a2912 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1/run-1701086856.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1701086856, + "chain": 1, + "multi": false, + "commit": "5489a23" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1/run-1701086878.json b/broadcast/DeployDeterministic.s.sol/1/run-1701086878.json new file mode 100644 index 00000000..40cff4bf --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1/run-1701086878.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1701086878, + "chain": 1, + "multi": false, + "commit": "5489a23" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1/run-1701087183.json b/broadcast/DeployDeterministic.s.sol/1/run-1701087183.json new file mode 100644 index 00000000..2fec590c --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1/run-1701087183.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1701087183, + "chain": 1, + "multi": false, + "commit": "5489a23" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1/run-1701087229.json b/broadcast/DeployDeterministic.s.sol/1/run-1701087229.json new file mode 100644 index 00000000..90e77e92 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1/run-1701087229.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x5f9d57cd6b01a69a817aa1fcb0a99749dfe171a1f79824d7b0d5c195ad673a1d", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x5f9d57cd6b01a69a817aa1fcb0a99749dfe171a1f79824d7b0d5c195ad673a1d" + ], + "returns": {}, + "timestamp": 1701087229, + "chain": 1, + "multi": false, + "commit": "5489a23" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1/run-1701087330.json b/broadcast/DeployDeterministic.s.sol/1/run-1701087330.json new file mode 100644 index 00000000..c00368af --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1/run-1701087330.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x5f9d57cd6b01a69a817aa1fcb0a99749dfe171a1f79824d7b0d5c195ad673a1d", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5f9d57cd6b01a69a817aa1fcb0a99749dfe171a1f79824d7b0d5c195ad673a1d", + "transactionIndex": "0x6a", + "blockHash": "0x6307ce1178dee9d333a5aaeee2f3722af4a0623f8f9ca6547e2dc83b6ef5f386", + "blockNumber": "0x11cc604", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x95192e", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x6fc23ac00" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1701087330, + "chain": 1, + "multi": false, + "commit": "5489a23" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1/run-latest.json b/broadcast/DeployDeterministic.s.sol/1/run-latest.json new file mode 100644 index 00000000..c00368af --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x5f9d57cd6b01a69a817aa1fcb0a99749dfe171a1f79824d7b0d5c195ad673a1d", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5f9d57cd6b01a69a817aa1fcb0a99749dfe171a1f79824d7b0d5c195ad673a1d", + "transactionIndex": "0x6a", + "blockHash": "0x6307ce1178dee9d333a5aaeee2f3722af4a0623f8f9ca6547e2dc83b6ef5f386", + "blockNumber": "0x11cc604", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x95192e", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x6fc23ac00" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1701087330, + "chain": 1, + "multi": false, + "commit": "5489a23" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1261120/run-1701085835.json b/broadcast/DeployDeterministic.s.sol/1261120/run-1701085835.json new file mode 100644 index 00000000..e5f7fce9 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1261120/run-1701085835.json @@ -0,0 +1,202 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0x5b73c5498c1e3b4dba84de0f1833c4a029d90519" + ], + "pending": [], + "returns": {}, + "timestamp": 1701085835, + "chain": 1261120, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1261120/run-1701086061.json b/broadcast/DeployDeterministic.s.sol/1261120/run-1701086061.json new file mode 100644 index 00000000..4c64949f --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1261120/run-1701086061.json @@ -0,0 +1,213 @@ +{ + "transactions": [ + { + "hash": "0xbe68c16c77c1089ecc665b650e211378edfe5c57527ff2c00c41a7482154a494", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc0ac5f4717ee4bc1ce147343a3e3f6794885b231f2798d95f72cd0c30eeec2c", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0551a65ee60050b0a3f55a157015db6aa1c84e67052148a15669dc3448582bed", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3e28650acd83435f0c0b01eba3eb9e1dcc08202f4580c836ebb32446ef67c62", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x39fcc91dab1ec5afdef64e0d8af5488e3c2c81543191bea260b4b739cdb3c534", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9e4f31eaae69c862017a75d2aee782d68300dba8aa6c63d88d2739820cfc0562", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x186810ba1ac48c807724778b035b9c81fefd5302e5dd9173b823a8e1442f22bd", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbf0584b8b69d0e14064daa25d51c9f8cc31cf4fffd8272313a0cabb97cbb53f9", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2e36b5fdafa1d31f59e75a67a5c2a4b76105328fccd13ceb64c48ac1e542bb3", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5b1cce09f87059ced353d42a60ba1bda39bf58b8b3b2ffdb193b31de40482485", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [ + "0xbe68c16c77c1089ecc665b650e211378edfe5c57527ff2c00c41a7482154a494", + "0xfc0ac5f4717ee4bc1ce147343a3e3f6794885b231f2798d95f72cd0c30eeec2c", + "0x0551a65ee60050b0a3f55a157015db6aa1c84e67052148a15669dc3448582bed", + "0xa3e28650acd83435f0c0b01eba3eb9e1dcc08202f4580c836ebb32446ef67c62", + "0x39fcc91dab1ec5afdef64e0d8af5488e3c2c81543191bea260b4b739cdb3c534", + "0x9e4f31eaae69c862017a75d2aee782d68300dba8aa6c63d88d2739820cfc0562", + "0x186810ba1ac48c807724778b035b9c81fefd5302e5dd9173b823a8e1442f22bd", + "0xbf0584b8b69d0e14064daa25d51c9f8cc31cf4fffd8272313a0cabb97cbb53f9", + "0xe2e36b5fdafa1d31f59e75a67a5c2a4b76105328fccd13ceb64c48ac1e542bb3", + "0x5b1cce09f87059ced353d42a60ba1bda39bf58b8b3b2ffdb193b31de40482485" + ], + "returns": {}, + "timestamp": 1701086061, + "chain": 1261120, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1261120/run-1701086068.json b/broadcast/DeployDeterministic.s.sol/1261120/run-1701086068.json new file mode 100644 index 00000000..d51356d4 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1261120/run-1701086068.json @@ -0,0 +1,389 @@ +{ + "transactions": [ + { + "hash": "0xbe68c16c77c1089ecc665b650e211378edfe5c57527ff2c00c41a7482154a494", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc0ac5f4717ee4bc1ce147343a3e3f6794885b231f2798d95f72cd0c30eeec2c", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0551a65ee60050b0a3f55a157015db6aa1c84e67052148a15669dc3448582bed", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3e28650acd83435f0c0b01eba3eb9e1dcc08202f4580c836ebb32446ef67c62", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x39fcc91dab1ec5afdef64e0d8af5488e3c2c81543191bea260b4b739cdb3c534", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9e4f31eaae69c862017a75d2aee782d68300dba8aa6c63d88d2739820cfc0562", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x186810ba1ac48c807724778b035b9c81fefd5302e5dd9173b823a8e1442f22bd", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbf0584b8b69d0e14064daa25d51c9f8cc31cf4fffd8272313a0cabb97cbb53f9", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2e36b5fdafa1d31f59e75a67a5c2a4b76105328fccd13ceb64c48ac1e542bb3", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5b1cce09f87059ced353d42a60ba1bda39bf58b8b3b2ffdb193b31de40482485", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xbe68c16c77c1089ecc665b650e211378edfe5c57527ff2c00c41a7482154a494", + "transactionIndex": "0x0", + "blockHash": "0x40310b330a09971a7356095b86274ab7496850afa30db8ed4aba0c0fbd38ad31", + "blockNumber": "0x310b1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4b507c", + "gasUsed": "0x4b507c", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "root": "0x7ca9f474f3a477479cdd68b71df471281b1ab31d4a35168baa254515b92cb022", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0xfc0ac5f4717ee4bc1ce147343a3e3f6794885b231f2798d95f72cd0c30eeec2c", + "transactionIndex": "0x0", + "blockHash": "0xe37934e1eed8d2d713fd496afac87ec08923c4c0c38cc56056fadbdcc95f9aec", + "blockNumber": "0x310b2", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa585b", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xe37934e1eed8d2d713fd496afac87ec08923c4c0c38cc56056fadbdcc95f9aec", + "blockNumber": "0x310b2", + "transactionHash": "0xfc0ac5f4717ee4bc1ce147343a3e3f6794885b231f2798d95f72cd0c30eeec2c", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "root": "0xa0f13b304c57c106ea0b76986b80b9dd16cc12b5b0e3ebac3d0fdc93072afce6", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x0551a65ee60050b0a3f55a157015db6aa1c84e67052148a15669dc3448582bed", + "transactionIndex": "0x0", + "blockHash": "0x7a4da2598d20083bee69ffdc616821a3f4932c1b74f1a8ebecb2f0b8e937b32d", + "blockNumber": "0x310b3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4fc64", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x1522d2fbbd582a1b86ce4ede9c49edd609cf8c859b2fe0d640464b3f593206c6", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0xa3e28650acd83435f0c0b01eba3eb9e1dcc08202f4580c836ebb32446ef67c62", + "transactionIndex": "0x0", + "blockHash": "0x0847aa627e762a9244cd629fecac5924104d058afe7327265b09899e2a2a3eb5", + "blockNumber": "0x310b4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12efd0", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0xd9187e6f013fa6444287f2ee340b417dec7da63bb4dd6194a8cfad54a0235ff3", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x39fcc91dab1ec5afdef64e0d8af5488e3c2c81543191bea260b4b739cdb3c534", + "transactionIndex": "0x0", + "blockHash": "0x1432655d206d92ef7ac78e45ebbb4459279be7152fbe022d3239c056db79cbb6", + "blockNumber": "0x310b5", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1c3221", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0xf10738c59ff92363d49b41b8224d573f2d8bbfb598066dc55b3c42c8ed06e6d9", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x9e4f31eaae69c862017a75d2aee782d68300dba8aa6c63d88d2739820cfc0562", + "transactionIndex": "0x0", + "blockHash": "0xd4de30a0f40d04998d48d81a29f121a7c2533412dd47a76a5efbaad33d9bd3dd", + "blockNumber": "0x310b6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d39f4", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x32c0f3901d08eb9f6b9ce71edcec96a00f9997c5532840760fa39e058054c0f0", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x186810ba1ac48c807724778b035b9c81fefd5302e5dd9173b823a8e1442f22bd", + "transactionIndex": "0x0", + "blockHash": "0x66b06776aa3cf83da5dd332c0af38ac2a8e7516278d5985ca06940c5e3abbaf7", + "blockNumber": "0x310b7", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x70d3527e1cc5ecbac23fc4b2965e98a0f8f25c67817845fbc51896fb7e492dc3", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0xbf0584b8b69d0e14064daa25d51c9f8cc31cf4fffd8272313a0cabb97cbb53f9", + "transactionIndex": "0x0", + "blockHash": "0x256ef68a4ffb46b3b97789bd1304f68a8a13c8c49c47aa83cd061773ce4a7547", + "blockNumber": "0x310b8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x6afa53f491808c4bef4bda1b74654efeb1bc74068638e8f609458a762778f7fb", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0xe2e36b5fdafa1d31f59e75a67a5c2a4b76105328fccd13ceb64c48ac1e542bb3", + "transactionIndex": "0x0", + "blockHash": "0xad5ee5ef63f7d6a0dcd2b16d09420cbc8052d4f3d323bec488edad9331a8b51f", + "blockNumber": "0x310b9", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x67ba702274ff58cd9dfe0e427811e6a4bdbc7ee08fedb266e706a6c6944e3dec", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x5b1cce09f87059ced353d42a60ba1bda39bf58b8b3b2ffdb193b31de40482485", + "transactionIndex": "0x0", + "blockHash": "0xe3020aed53e5af5e79216a3cd27c7b1373ae172ba52cbc8287fa9c2da02a0851", + "blockNumber": "0x310ba", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x293678576b155d8fa9bfc41fce9b989677c9841f46da85140379ab6f05d4d901", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1701086068, + "chain": 1261120, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/1261120/run-latest.json b/broadcast/DeployDeterministic.s.sol/1261120/run-latest.json new file mode 100644 index 00000000..d51356d4 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/1261120/run-latest.json @@ -0,0 +1,389 @@ +{ + "transactions": [ + { + "hash": "0xbe68c16c77c1089ecc665b650e211378edfe5c57527ff2c00c41a7482154a494", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfc0ac5f4717ee4bc1ce147343a3e3f6794885b231f2798d95f72cd0c30eeec2c", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0551a65ee60050b0a3f55a157015db6aa1c84e67052148a15669dc3448582bed", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa3e28650acd83435f0c0b01eba3eb9e1dcc08202f4580c836ebb32446ef67c62", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x39fcc91dab1ec5afdef64e0d8af5488e3c2c81543191bea260b4b739cdb3c534", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9e4f31eaae69c862017a75d2aee782d68300dba8aa6c63d88d2739820cfc0562", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x186810ba1ac48c807724778b035b9c81fefd5302e5dd9173b823a8e1442f22bd", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbf0584b8b69d0e14064daa25d51c9f8cc31cf4fffd8272313a0cabb97cbb53f9", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2e36b5fdafa1d31f59e75a67a5c2a4b76105328fccd13ceb64c48ac1e542bb3", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5b1cce09f87059ced353d42a60ba1bda39bf58b8b3b2ffdb193b31de40482485", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xbe68c16c77c1089ecc665b650e211378edfe5c57527ff2c00c41a7482154a494", + "transactionIndex": "0x0", + "blockHash": "0x40310b330a09971a7356095b86274ab7496850afa30db8ed4aba0c0fbd38ad31", + "blockNumber": "0x310b1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4b507c", + "gasUsed": "0x4b507c", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "root": "0x7ca9f474f3a477479cdd68b71df471281b1ab31d4a35168baa254515b92cb022", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0xfc0ac5f4717ee4bc1ce147343a3e3f6794885b231f2798d95f72cd0c30eeec2c", + "transactionIndex": "0x0", + "blockHash": "0xe37934e1eed8d2d713fd496afac87ec08923c4c0c38cc56056fadbdcc95f9aec", + "blockNumber": "0x310b2", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa585b", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xe37934e1eed8d2d713fd496afac87ec08923c4c0c38cc56056fadbdcc95f9aec", + "blockNumber": "0x310b2", + "transactionHash": "0xfc0ac5f4717ee4bc1ce147343a3e3f6794885b231f2798d95f72cd0c30eeec2c", + "transactionIndex": "0x0", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "root": "0xa0f13b304c57c106ea0b76986b80b9dd16cc12b5b0e3ebac3d0fdc93072afce6", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x0551a65ee60050b0a3f55a157015db6aa1c84e67052148a15669dc3448582bed", + "transactionIndex": "0x0", + "blockHash": "0x7a4da2598d20083bee69ffdc616821a3f4932c1b74f1a8ebecb2f0b8e937b32d", + "blockNumber": "0x310b3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4fc64", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x1522d2fbbd582a1b86ce4ede9c49edd609cf8c859b2fe0d640464b3f593206c6", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0xa3e28650acd83435f0c0b01eba3eb9e1dcc08202f4580c836ebb32446ef67c62", + "transactionIndex": "0x0", + "blockHash": "0x0847aa627e762a9244cd629fecac5924104d058afe7327265b09899e2a2a3eb5", + "blockNumber": "0x310b4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12efd0", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0xd9187e6f013fa6444287f2ee340b417dec7da63bb4dd6194a8cfad54a0235ff3", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x39fcc91dab1ec5afdef64e0d8af5488e3c2c81543191bea260b4b739cdb3c534", + "transactionIndex": "0x0", + "blockHash": "0x1432655d206d92ef7ac78e45ebbb4459279be7152fbe022d3239c056db79cbb6", + "blockNumber": "0x310b5", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1c3221", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0xf10738c59ff92363d49b41b8224d573f2d8bbfb598066dc55b3c42c8ed06e6d9", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x9e4f31eaae69c862017a75d2aee782d68300dba8aa6c63d88d2739820cfc0562", + "transactionIndex": "0x0", + "blockHash": "0xd4de30a0f40d04998d48d81a29f121a7c2533412dd47a76a5efbaad33d9bd3dd", + "blockNumber": "0x310b6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d39f4", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x32c0f3901d08eb9f6b9ce71edcec96a00f9997c5532840760fa39e058054c0f0", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x186810ba1ac48c807724778b035b9c81fefd5302e5dd9173b823a8e1442f22bd", + "transactionIndex": "0x0", + "blockHash": "0x66b06776aa3cf83da5dd332c0af38ac2a8e7516278d5985ca06940c5e3abbaf7", + "blockNumber": "0x310b7", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x70d3527e1cc5ecbac23fc4b2965e98a0f8f25c67817845fbc51896fb7e492dc3", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0xbf0584b8b69d0e14064daa25d51c9f8cc31cf4fffd8272313a0cabb97cbb53f9", + "transactionIndex": "0x0", + "blockHash": "0x256ef68a4ffb46b3b97789bd1304f68a8a13c8c49c47aa83cd061773ce4a7547", + "blockNumber": "0x310b8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x6afa53f491808c4bef4bda1b74654efeb1bc74068638e8f609458a762778f7fb", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0xe2e36b5fdafa1d31f59e75a67a5c2a4b76105328fccd13ceb64c48ac1e542bb3", + "transactionIndex": "0x0", + "blockHash": "0xad5ee5ef63f7d6a0dcd2b16d09420cbc8052d4f3d323bec488edad9331a8b51f", + "blockNumber": "0x310b9", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x67ba702274ff58cd9dfe0e427811e6a4bdbc7ee08fedb266e706a6c6944e3dec", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + }, + { + "transactionHash": "0x5b1cce09f87059ced353d42a60ba1bda39bf58b8b3b2ffdb193b31de40482485", + "transactionIndex": "0x0", + "blockHash": "0xe3020aed53e5af5e79216a3cd27c7b1373ae172ba52cbc8287fa9c2da02a0851", + "blockNumber": "0x310ba", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x293678576b155d8fa9bfc41fce9b989677c9841f46da85140379ab6f05d4d901", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xac6ca0" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1701086068, + "chain": 1261120, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/42069/run-1701086188.json b/broadcast/DeployDeterministic.s.sol/42069/run-1701086188.json new file mode 100644 index 00000000..4b7c90f9 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/42069/run-1701086188.json @@ -0,0 +1,213 @@ +{ + "transactions": [ + { + "hash": "0xcdba3f8f2cc3b6f20bb9086144d451df794e919eeaa0b3a4e0dedda27d346aa0", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8a275ccd78e705feb39f0a4b22df4623f5c6b25bbe12fa59876b2131883a8299", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb95583025e3c77499d0880791bceafbd458d800f26e9f9dffb27ed308944bbf4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe944be7cbd9fc2670fd362ad62f5b6651de3289a471d7b0e835a5a85ad6ef879", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf0ca0dbd1e421a3d004af0b9babbc41574bb3da3ed73b3cb65caefba2d20998e", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x14d90c20580027012836f8db57e6c50fe3a8e083056736a5ea8f5a15f87f6be6", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa557ef17d596bbd5502f02c7d24006543ff0d367f9b29668806c5f1e417e351d", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x26aa3f5bafd3ae156291745c830bd88c18152ba4fa9576c0aae290de4ba235ce", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x968819e00b68fb8b9599e1ceacd774cb35be1a796a53d86e0552e6fafc3c6f2c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2541a8da6f1f9b944fca0afd7b60305ce54e5b76bef0472c43b078d727a5eec0", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [ + "0xcdba3f8f2cc3b6f20bb9086144d451df794e919eeaa0b3a4e0dedda27d346aa0", + "0x8a275ccd78e705feb39f0a4b22df4623f5c6b25bbe12fa59876b2131883a8299", + "0xb95583025e3c77499d0880791bceafbd458d800f26e9f9dffb27ed308944bbf4", + "0xe944be7cbd9fc2670fd362ad62f5b6651de3289a471d7b0e835a5a85ad6ef879", + "0xf0ca0dbd1e421a3d004af0b9babbc41574bb3da3ed73b3cb65caefba2d20998e", + "0x14d90c20580027012836f8db57e6c50fe3a8e083056736a5ea8f5a15f87f6be6", + "0xa557ef17d596bbd5502f02c7d24006543ff0d367f9b29668806c5f1e417e351d", + "0x26aa3f5bafd3ae156291745c830bd88c18152ba4fa9576c0aae290de4ba235ce", + "0x968819e00b68fb8b9599e1ceacd774cb35be1a796a53d86e0552e6fafc3c6f2c", + "0x2541a8da6f1f9b944fca0afd7b60305ce54e5b76bef0472c43b078d727a5eec0" + ], + "returns": {}, + "timestamp": 1701086188, + "chain": 42069, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/42069/run-1701086195.json b/broadcast/DeployDeterministic.s.sol/42069/run-1701086195.json new file mode 100644 index 00000000..a815ce82 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/42069/run-1701086195.json @@ -0,0 +1,379 @@ +{ + "transactions": [ + { + "hash": "0xcdba3f8f2cc3b6f20bb9086144d451df794e919eeaa0b3a4e0dedda27d346aa0", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8a275ccd78e705feb39f0a4b22df4623f5c6b25bbe12fa59876b2131883a8299", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb95583025e3c77499d0880791bceafbd458d800f26e9f9dffb27ed308944bbf4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe944be7cbd9fc2670fd362ad62f5b6651de3289a471d7b0e835a5a85ad6ef879", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf0ca0dbd1e421a3d004af0b9babbc41574bb3da3ed73b3cb65caefba2d20998e", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x14d90c20580027012836f8db57e6c50fe3a8e083056736a5ea8f5a15f87f6be6", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa557ef17d596bbd5502f02c7d24006543ff0d367f9b29668806c5f1e417e351d", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x26aa3f5bafd3ae156291745c830bd88c18152ba4fa9576c0aae290de4ba235ce", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x968819e00b68fb8b9599e1ceacd774cb35be1a796a53d86e0552e6fafc3c6f2c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2541a8da6f1f9b944fca0afd7b60305ce54e5b76bef0472c43b078d727a5eec0", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xcdba3f8f2cc3b6f20bb9086144d451df794e919eeaa0b3a4e0dedda27d346aa0", + "transactionIndex": "0x1", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4c07b1", + "gasUsed": "0x4b507c", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x8a275ccd78e705feb39f0a4b22df4623f5c6b25bbe12fa59876b2131883a8299", + "transactionIndex": "0x2", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x56600c", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "transactionHash": "0x8a275ccd78e705feb39f0a4b22df4623f5c6b25bbe12fa59876b2131883a8299", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0xb95583025e3c77499d0880791bceafbd458d800f26e9f9dffb27ed308944bbf4", + "transactionIndex": "0x3", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b5c70", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0xe944be7cbd9fc2670fd362ad62f5b6651de3289a471d7b0e835a5a85ad6ef879", + "transactionIndex": "0x4", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x6e4c40", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0xf0ca0dbd1e421a3d004af0b9babbc41574bb3da3ed73b3cb65caefba2d20998e", + "transactionIndex": "0x5", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x8a7e61", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x14d90c20580027012836f8db57e6c50fe3a8e083056736a5ea8f5a15f87f6be6", + "transactionIndex": "0x6", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa7b855", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0xa557ef17d596bbd5502f02c7d24006543ff0d367f9b29668806c5f1e417e351d", + "transactionIndex": "0x7", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa86db7", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x26aa3f5bafd3ae156291745c830bd88c18152ba4fa9576c0aae290de4ba235ce", + "transactionIndex": "0x8", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa92319", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x968819e00b68fb8b9599e1ceacd774cb35be1a796a53d86e0552e6fafc3c6f2c", + "transactionIndex": "0x9", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa9d87b", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x2541a8da6f1f9b944fca0afd7b60305ce54e5b76bef0472c43b078d727a5eec0", + "transactionIndex": "0xa", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xaa8ddd", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1701086195, + "chain": 42069, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/42069/run-latest.json b/broadcast/DeployDeterministic.s.sol/42069/run-latest.json new file mode 100644 index 00000000..a815ce82 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/42069/run-latest.json @@ -0,0 +1,379 @@ +{ + "transactions": [ + { + "hash": "0xcdba3f8f2cc3b6f20bb9086144d451df794e919eeaa0b3a4e0dedda27d346aa0", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8a275ccd78e705feb39f0a4b22df4623f5c6b25bbe12fa59876b2131883a8299", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb95583025e3c77499d0880791bceafbd458d800f26e9f9dffb27ed308944bbf4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe944be7cbd9fc2670fd362ad62f5b6651de3289a471d7b0e835a5a85ad6ef879", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf0ca0dbd1e421a3d004af0b9babbc41574bb3da3ed73b3cb65caefba2d20998e", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x14d90c20580027012836f8db57e6c50fe3a8e083056736a5ea8f5a15f87f6be6", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa557ef17d596bbd5502f02c7d24006543ff0d367f9b29668806c5f1e417e351d", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x26aa3f5bafd3ae156291745c830bd88c18152ba4fa9576c0aae290de4ba235ce", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x968819e00b68fb8b9599e1ceacd774cb35be1a796a53d86e0552e6fafc3c6f2c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2541a8da6f1f9b944fca0afd7b60305ce54e5b76bef0472c43b078d727a5eec0", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xcdba3f8f2cc3b6f20bb9086144d451df794e919eeaa0b3a4e0dedda27d346aa0", + "transactionIndex": "0x1", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4c07b1", + "gasUsed": "0x4b507c", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x8a275ccd78e705feb39f0a4b22df4623f5c6b25bbe12fa59876b2131883a8299", + "transactionIndex": "0x2", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x56600c", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "transactionHash": "0x8a275ccd78e705feb39f0a4b22df4623f5c6b25bbe12fa59876b2131883a8299", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0xb95583025e3c77499d0880791bceafbd458d800f26e9f9dffb27ed308944bbf4", + "transactionIndex": "0x3", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b5c70", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0xe944be7cbd9fc2670fd362ad62f5b6651de3289a471d7b0e835a5a85ad6ef879", + "transactionIndex": "0x4", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x6e4c40", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0xf0ca0dbd1e421a3d004af0b9babbc41574bb3da3ed73b3cb65caefba2d20998e", + "transactionIndex": "0x5", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x8a7e61", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x14d90c20580027012836f8db57e6c50fe3a8e083056736a5ea8f5a15f87f6be6", + "transactionIndex": "0x6", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa7b855", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0xa557ef17d596bbd5502f02c7d24006543ff0d367f9b29668806c5f1e417e351d", + "transactionIndex": "0x7", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa86db7", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x26aa3f5bafd3ae156291745c830bd88c18152ba4fa9576c0aae290de4ba235ce", + "transactionIndex": "0x8", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa92319", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x968819e00b68fb8b9599e1ceacd774cb35be1a796a53d86e0552e6fafc3c6f2c", + "transactionIndex": "0x9", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa9d87b", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + }, + { + "transactionHash": "0x2541a8da6f1f9b944fca0afd7b60305ce54e5b76bef0472c43b078d727a5eec0", + "transactionIndex": "0xa", + "blockHash": "0xa77659597f5b560c8c6d0c9536735664a4f0d5dfe594b61d5be76dfbd47e91b6", + "blockNumber": "0x1afc0e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xaa8ddd", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf4272" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1701086195, + "chain": 42069, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/204/run-1699462898.json b/broadcast/DeployECDSAValidator.s.sol/204/run-1699462898.json new file mode 100644 index 00000000..99bc9c7c --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/204/run-1699462898.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869" + ], + "returns": {}, + "timestamp": 1699462898, + "chain": 204, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/204/run-1699462905.json b/broadcast/DeployECDSAValidator.s.sol/204/run-1699462905.json new file mode 100644 index 00000000..d99922f4 --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/204/run-1699462905.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869", + "transactionIndex": "0x1", + "blockHash": "0xeeb3bf77a1ff94be009ccadaa60fa4cb2d80b372c84b898f679ca542812abb70", + "blockNumber": "0x75a1f9", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b3a5", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462905, + "chain": 204, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/204/run-latest.json b/broadcast/DeployECDSAValidator.s.sol/204/run-latest.json new file mode 100644 index 00000000..d99922f4 --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/204/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x1205e3d0592a957b2c59609cbff38268fcc68ea891efe57d24a39d282039f869", + "transactionIndex": "0x1", + "blockHash": "0xeeb3bf77a1ff94be009ccadaa60fa4cb2d80b372c84b898f679ca542812abb70", + "blockNumber": "0x75a1f9", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b3a5", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462905, + "chain": 204, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/59140/run-1699462471.json b/broadcast/DeployECDSAValidator.s.sol/59140/run-1699462471.json new file mode 100644 index 00000000..9262b00f --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/59140/run-1699462471.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xb09b8cf84dbf353e2a4cb6689daed1b9333f4c7ef2f1bdc5c94314ec39e4122e", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xb09b8cf84dbf353e2a4cb6689daed1b9333f4c7ef2f1bdc5c94314ec39e4122e" + ], + "returns": {}, + "timestamp": 1699462471, + "chain": 59140, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/59140/run-1699462484.json b/broadcast/DeployECDSAValidator.s.sol/59140/run-1699462484.json new file mode 100644 index 00000000..80f9f494 --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/59140/run-1699462484.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xb09b8cf84dbf353e2a4cb6689daed1b9333f4c7ef2f1bdc5c94314ec39e4122e", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xb09b8cf84dbf353e2a4cb6689daed1b9333f4c7ef2f1bdc5c94314ec39e4122e", + "transactionIndex": "0x0", + "blockHash": "0xd961432e2fa82461dbde4eff5c56ac7cbb24c631e6f31738ef5558ae1ae28cfc", + "blockNumber": "0x1d8494", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4fc64", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462484, + "chain": 59140, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/59140/run-latest.json b/broadcast/DeployECDSAValidator.s.sol/59140/run-latest.json new file mode 100644 index 00000000..80f9f494 --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/59140/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xb09b8cf84dbf353e2a4cb6689daed1b9333f4c7ef2f1bdc5c94314ec39e4122e", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xb09b8cf84dbf353e2a4cb6689daed1b9333f4c7ef2f1bdc5c94314ec39e4122e", + "transactionIndex": "0x0", + "blockHash": "0xd961432e2fa82461dbde4eff5c56ac7cbb24c631e6f31738ef5558ae1ae28cfc", + "blockNumber": "0x1d8494", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4fc64", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462484, + "chain": 59140, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461175.json b/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461175.json new file mode 100644 index 00000000..79ba3d3e --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461175.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x16db163523af30da247e5a8e267fe43560c06dd44595715d9c6cae3ecdaaf1fe", + "transactionType": "CREATE2", + "contractName": "ECDSAValidator", + "contractAddress": "0x0BCd022a7802FaC16C4fa38Ee1897907ddf92A82", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x71a5a", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104c7908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b913561043d565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d1561042f576000606052604052565b638baa579f6000526004601cfd5b3360009081526020819052604081205490936001600160a01b039182169391928361047261046c3685876102df565b836103ee565b1685146104bf576104b0926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104b95790565b50600190565b50505050509056", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x16db163523af30da247e5a8e267fe43560c06dd44595715d9c6cae3ecdaaf1fe" + ], + "returns": {}, + "timestamp": 1699461175, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461182.json b/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461182.json new file mode 100644 index 00000000..067a59b1 --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461182.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x16db163523af30da247e5a8e267fe43560c06dd44595715d9c6cae3ecdaaf1fe", + "transactionType": "CREATE2", + "contractName": "ECDSAValidator", + "contractAddress": "0x0BCd022a7802FaC16C4fa38Ee1897907ddf92A82", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x71a5a", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104c7908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b913561043d565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d1561042f576000606052604052565b638baa579f6000526004601cfd5b3360009081526020819052604081205490936001600160a01b039182169391928361047261046c3685876102df565b836103ee565b1685146104bf576104b0926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104b95790565b50600190565b50505050509056", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x16db163523af30da247e5a8e267fe43560c06dd44595715d9c6cae3ecdaaf1fe", + "transactionIndex": "0x1", + "blockHash": "0x9d898aba2db83a36de555cfec5de0973ec12c1baa48b80e9b60ceace007d5b80", + "blockNumber": "0xc67a0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x65fb6", + "gasUsed": "0x4db52", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699461182, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461632.json b/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461632.json new file mode 100644 index 00000000..efcda503 --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461632.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xc3356cbb38a868d8f7be2c5d099759d09d3632d952fbd562b40c44ec5d33a135", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xc3356cbb38a868d8f7be2c5d099759d09d3632d952fbd562b40c44ec5d33a135" + ], + "returns": {}, + "timestamp": 1699461632, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461639.json b/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461639.json new file mode 100644 index 00000000..0d420c5c --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/59144/run-1699461639.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xc3356cbb38a868d8f7be2c5d099759d09d3632d952fbd562b40c44ec5d33a135", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc3356cbb38a868d8f7be2c5d099759d09d3632d952fbd562b40c44ec5d33a135", + "transactionIndex": "0x3", + "blockHash": "0xc29cbc6dc4617907a70d0f9a724880e01e8a52151422d3320a5fb2ee3e02e70e", + "blockNumber": "0xc67c6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xb3ade", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699461639, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployECDSAValidator.s.sol/59144/run-latest.json b/broadcast/DeployECDSAValidator.s.sol/59144/run-latest.json new file mode 100644 index 00000000..0d420c5c --- /dev/null +++ b/broadcast/DeployECDSAValidator.s.sol/59144/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xc3356cbb38a868d8f7be2c5d099759d09d3632d952fbd562b40c44ec5d33a135", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc3356cbb38a868d8f7be2c5d099759d09d3632d952fbd562b40c44ec5d33a135", + "transactionIndex": "0x3", + "blockHash": "0xc29cbc6dc4617907a70d0f9a724880e01e8a52151422d3320a5fb2ee3e02e70e", + "blockNumber": "0xc67c6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xb3ade", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699461639, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/1/run-1698336646.json b/broadcast/DeployKernel.s.sol/1/run-1698336646.json new file mode 100644 index 00000000..87e19814 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/1/run-1698336646.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0x72cfa7b34382616ae9b3b1889bfacb62e5a51486b623f7cefb83821663165389", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2fe25704ac0ff92edcb0aea487cb22d3fcac8ec290facef0e36fb8d358c0aaf6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x30fc48ceafdcdd1ead42e806ff585b51c32777c1a0bba7a1445e6cd5f6d51c39", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3e178b0d1e8d9058bf267a38d9f24eeace0e2700e5f134e93bb8d5c4b6ce7d51", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x72cfa7b34382616ae9b3b1889bfacb62e5a51486b623f7cefb83821663165389", + "0x2fe25704ac0ff92edcb0aea487cb22d3fcac8ec290facef0e36fb8d358c0aaf6", + "0x30fc48ceafdcdd1ead42e806ff585b51c32777c1a0bba7a1445e6cd5f6d51c39", + "0x3e178b0d1e8d9058bf267a38d9f24eeace0e2700e5f134e93bb8d5c4b6ce7d51" + ], + "returns": {}, + "timestamp": 1698336646, + "chain": 1, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/1/run-1698336653.json b/broadcast/DeployKernel.s.sol/1/run-1698336653.json new file mode 100644 index 00000000..867c580a --- /dev/null +++ b/broadcast/DeployKernel.s.sol/1/run-1698336653.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x72cfa7b34382616ae9b3b1889bfacb62e5a51486b623f7cefb83821663165389", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2fe25704ac0ff92edcb0aea487cb22d3fcac8ec290facef0e36fb8d358c0aaf6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x30fc48ceafdcdd1ead42e806ff585b51c32777c1a0bba7a1445e6cd5f6d51c39", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3e178b0d1e8d9058bf267a38d9f24eeace0e2700e5f134e93bb8d5c4b6ce7d51", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x72cfa7b34382616ae9b3b1889bfacb62e5a51486b623f7cefb83821663165389", + "transactionIndex": "0x22", + "blockHash": "0xc31495ff78d46f2bce9f37ab267c664c213d9185b2c50adf102c99b27617a3e2", + "blockNumber": "0x1194da3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4e1d4f", + "gasUsed": "0x1d3c2a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x8f2e661f0" + }, + { + "transactionHash": "0x2fe25704ac0ff92edcb0aea487cb22d3fcac8ec290facef0e36fb8d358c0aaf6", + "transactionIndex": "0x23", + "blockHash": "0xc31495ff78d46f2bce9f37ab267c664c213d9185b2c50adf102c99b27617a3e2", + "blockNumber": "0x1194da3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x4ed2b1", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x8f2e661f0" + }, + { + "transactionHash": "0x30fc48ceafdcdd1ead42e806ff585b51c32777c1a0bba7a1445e6cd5f6d51c39", + "transactionIndex": "0x24", + "blockHash": "0xc31495ff78d46f2bce9f37ab267c664c213d9185b2c50adf102c99b27617a3e2", + "blockNumber": "0x1194da3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x6b06f4", + "gasUsed": "0x1c3443", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x8f2e661f0" + }, + { + "transactionHash": "0x3e178b0d1e8d9058bf267a38d9f24eeace0e2700e5f134e93bb8d5c4b6ce7d51", + "transactionIndex": "0x25", + "blockHash": "0xc31495ff78d46f2bce9f37ab267c664c213d9185b2c50adf102c99b27617a3e2", + "blockNumber": "0x1194da3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x6bbc56", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x8f2e661f0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336653, + "chain": 1, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/10/run-1698336597.json b/broadcast/DeployKernel.s.sol/10/run-1698336597.json new file mode 100644 index 00000000..5c6cfd21 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/10/run-1698336597.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0x8879bd91c140d4f3898d97edae7f97eda735c6d3e13fae74558fc2f4f9974bef", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa97839aaa727695f7065522e2a8056ee1dbdb3e3e057e65fe7f9700fe069b5cc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3afe0736be0fba589cc3311de982b19640f63de1fd4c935d09746b61d0879ec", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8c6487e5ca48bd574091bd8e8616bf73f5d44a5034a8ed8f83b2b854f5902623", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x8879bd91c140d4f3898d97edae7f97eda735c6d3e13fae74558fc2f4f9974bef", + "0xa97839aaa727695f7065522e2a8056ee1dbdb3e3e057e65fe7f9700fe069b5cc", + "0xd3afe0736be0fba589cc3311de982b19640f63de1fd4c935d09746b61d0879ec", + "0x8c6487e5ca48bd574091bd8e8616bf73f5d44a5034a8ed8f83b2b854f5902623" + ], + "returns": {}, + "timestamp": 1698336597, + "chain": 10, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/10/run-1698336604.json b/broadcast/DeployKernel.s.sol/10/run-1698336604.json new file mode 100644 index 00000000..9010054e --- /dev/null +++ b/broadcast/DeployKernel.s.sol/10/run-1698336604.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x8879bd91c140d4f3898d97edae7f97eda735c6d3e13fae74558fc2f4f9974bef", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa97839aaa727695f7065522e2a8056ee1dbdb3e3e057e65fe7f9700fe069b5cc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3afe0736be0fba589cc3311de982b19640f63de1fd4c935d09746b61d0879ec", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x8c6487e5ca48bd574091bd8e8616bf73f5d44a5034a8ed8f83b2b854f5902623", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8879bd91c140d4f3898d97edae7f97eda735c6d3e13fae74558fc2f4f9974bef", + "transactionIndex": "0x1", + "blockHash": "0x511bff31ce3ee9c92f4039a1cda46b20ffaba4f8905ed01b75748627cc92cdda", + "blockNumber": "0x6a35acf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1dff39", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb380b5d6" + }, + { + "transactionHash": "0xa97839aaa727695f7065522e2a8056ee1dbdb3e3e057e65fe7f9700fe069b5cc", + "transactionIndex": "0x2", + "blockHash": "0x511bff31ce3ee9c92f4039a1cda46b20ffaba4f8905ed01b75748627cc92cdda", + "blockNumber": "0x6a35acf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1eb49b", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb380b5d6" + }, + { + "transactionHash": "0xd3afe0736be0fba589cc3311de982b19640f63de1fd4c935d09746b61d0879ec", + "transactionIndex": "0x3", + "blockHash": "0x511bff31ce3ee9c92f4039a1cda46b20ffaba4f8905ed01b75748627cc92cdda", + "blockNumber": "0x6a35acf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3ae6bc", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb380b5d6" + }, + { + "transactionHash": "0x8c6487e5ca48bd574091bd8e8616bf73f5d44a5034a8ed8f83b2b854f5902623", + "transactionIndex": "0x4", + "blockHash": "0x511bff31ce3ee9c92f4039a1cda46b20ffaba4f8905ed01b75748627cc92cdda", + "blockNumber": "0x6a35acf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3b9c1e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb380b5d6" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336604, + "chain": 10, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1698379717.json b/broadcast/DeployKernel.s.sol/11155111/run-1698379717.json new file mode 100644 index 00000000..aeef8545 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1698379717.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xed1ae98e017b385eeea04d65b6b259f183da0a95c6b068944fa376c39d3b7c05", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x51fdbdb5c359eec4cb7fe5587022757aa30168e5fa6abbb8a0f73f0c9a25b3fc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3f4ef14181d12218de8a8b432284b32592b8604eee3e8cf648737fcd0899641a", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x74567087b677cd2647da0b9a4fc91a3bf13d1f0e4fd2ff03b1c59d1543f3db6c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xed1ae98e017b385eeea04d65b6b259f183da0a95c6b068944fa376c39d3b7c05", + "0x51fdbdb5c359eec4cb7fe5587022757aa30168e5fa6abbb8a0f73f0c9a25b3fc", + "0x3f4ef14181d12218de8a8b432284b32592b8604eee3e8cf648737fcd0899641a", + "0x74567087b677cd2647da0b9a4fc91a3bf13d1f0e4fd2ff03b1c59d1543f3db6c" + ], + "returns": {}, + "timestamp": 1698379717, + "chain": 11155111, + "multi": false, + "commit": "e1104e2" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-1698379731.json b/broadcast/DeployKernel.s.sol/11155111/run-1698379731.json new file mode 100644 index 00000000..cfeeda21 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-1698379731.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xed1ae98e017b385eeea04d65b6b259f183da0a95c6b068944fa376c39d3b7c05", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x51fdbdb5c359eec4cb7fe5587022757aa30168e5fa6abbb8a0f73f0c9a25b3fc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3f4ef14181d12218de8a8b432284b32592b8604eee3e8cf648737fcd0899641a", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x74567087b677cd2647da0b9a4fc91a3bf13d1f0e4fd2ff03b1c59d1543f3db6c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xed1ae98e017b385eeea04d65b6b259f183da0a95c6b068944fa376c39d3b7c05", + "transactionIndex": "0x9", + "blockHash": "0x8d370586a3ffd220a407c402847fe251ad7242ccdd6db61cf83eb4e0dcdcc035", + "blockNumber": "0x45bf79", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x311470", + "gasUsed": "0x1d3c2a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x13ce89c52" + }, + { + "transactionHash": "0x51fdbdb5c359eec4cb7fe5587022757aa30168e5fa6abbb8a0f73f0c9a25b3fc", + "transactionIndex": "0xa", + "blockHash": "0x8d370586a3ffd220a407c402847fe251ad7242ccdd6db61cf83eb4e0dcdcc035", + "blockNumber": "0x45bf79", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x31c9d2", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x13ce89c52" + }, + { + "transactionHash": "0x3f4ef14181d12218de8a8b432284b32592b8604eee3e8cf648737fcd0899641a", + "transactionIndex": "0xb", + "blockHash": "0x8d370586a3ffd220a407c402847fe251ad7242ccdd6db61cf83eb4e0dcdcc035", + "blockNumber": "0x45bf79", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4dfe15", + "gasUsed": "0x1c3443", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x13ce89c52" + }, + { + "transactionHash": "0x74567087b677cd2647da0b9a4fc91a3bf13d1f0e4fd2ff03b1c59d1543f3db6c", + "transactionIndex": "0xc", + "blockHash": "0x8d370586a3ffd220a407c402847fe251ad7242ccdd6db61cf83eb4e0dcdcc035", + "blockNumber": "0x45bf79", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x4eb377", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x13ce89c52" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698379731, + "chain": 11155111, + "multi": false, + "commit": "e1104e2" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/11155111/run-latest.json b/broadcast/DeployKernel.s.sol/11155111/run-latest.json new file mode 100644 index 00000000..cfeeda21 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/11155111/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xed1ae98e017b385eeea04d65b6b259f183da0a95c6b068944fa376c39d3b7c05", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x51fdbdb5c359eec4cb7fe5587022757aa30168e5fa6abbb8a0f73f0c9a25b3fc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3f4ef14181d12218de8a8b432284b32592b8604eee3e8cf648737fcd0899641a", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x74567087b677cd2647da0b9a4fc91a3bf13d1f0e4fd2ff03b1c59d1543f3db6c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xed1ae98e017b385eeea04d65b6b259f183da0a95c6b068944fa376c39d3b7c05", + "transactionIndex": "0x9", + "blockHash": "0x8d370586a3ffd220a407c402847fe251ad7242ccdd6db61cf83eb4e0dcdcc035", + "blockNumber": "0x45bf79", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x311470", + "gasUsed": "0x1d3c2a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x13ce89c52" + }, + { + "transactionHash": "0x51fdbdb5c359eec4cb7fe5587022757aa30168e5fa6abbb8a0f73f0c9a25b3fc", + "transactionIndex": "0xa", + "blockHash": "0x8d370586a3ffd220a407c402847fe251ad7242ccdd6db61cf83eb4e0dcdcc035", + "blockNumber": "0x45bf79", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x31c9d2", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x13ce89c52" + }, + { + "transactionHash": "0x3f4ef14181d12218de8a8b432284b32592b8604eee3e8cf648737fcd0899641a", + "transactionIndex": "0xb", + "blockHash": "0x8d370586a3ffd220a407c402847fe251ad7242ccdd6db61cf83eb4e0dcdcc035", + "blockNumber": "0x45bf79", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4dfe15", + "gasUsed": "0x1c3443", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x13ce89c52" + }, + { + "transactionHash": "0x74567087b677cd2647da0b9a4fc91a3bf13d1f0e4fd2ff03b1c59d1543f3db6c", + "transactionIndex": "0xc", + "blockHash": "0x8d370586a3ffd220a407c402847fe251ad7242ccdd6db61cf83eb4e0dcdcc035", + "blockNumber": "0x45bf79", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x4eb377", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x13ce89c52" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698379731, + "chain": 11155111, + "multi": false, + "commit": "e1104e2" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/137/run-1698336456.json b/broadcast/DeployKernel.s.sol/137/run-1698336456.json new file mode 100644 index 00000000..be4b042b --- /dev/null +++ b/broadcast/DeployKernel.s.sol/137/run-1698336456.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0x76d8193837d5651f15426566a2cb43b7f2846c2783966a8c0a797d350ed7d6f3", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa249d4e7c95a902172af0b6fb0f2b903d6f468a15ab0ee7b4e2ad29f9d587f64", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x23", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4badbac6e176884e5d0f411b3324e822a8ee5c2e8b2b9eeb5fcbf71d3b0b7a06", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfe21ba2e07f590c1c12743b5a8ea9bdbfd0ac3cde4734d6033d548bd71313ba6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x76d8193837d5651f15426566a2cb43b7f2846c2783966a8c0a797d350ed7d6f3", + "0xa249d4e7c95a902172af0b6fb0f2b903d6f468a15ab0ee7b4e2ad29f9d587f64", + "0x4badbac6e176884e5d0f411b3324e822a8ee5c2e8b2b9eeb5fcbf71d3b0b7a06", + "0xfe21ba2e07f590c1c12743b5a8ea9bdbfd0ac3cde4734d6033d548bd71313ba6" + ], + "returns": {}, + "timestamp": 1698336456, + "chain": 137, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/137/run-1698336463.json b/broadcast/DeployKernel.s.sol/137/run-1698336463.json new file mode 100644 index 00000000..0e7651dc --- /dev/null +++ b/broadcast/DeployKernel.s.sol/137/run-1698336463.json @@ -0,0 +1,230 @@ +{ + "transactions": [ + { + "hash": "0x76d8193837d5651f15426566a2cb43b7f2846c2783966a8c0a797d350ed7d6f3", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa249d4e7c95a902172af0b6fb0f2b903d6f468a15ab0ee7b4e2ad29f9d587f64", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x23", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4badbac6e176884e5d0f411b3324e822a8ee5c2e8b2b9eeb5fcbf71d3b0b7a06", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfe21ba2e07f590c1c12743b5a8ea9bdbfd0ac3cde4734d6033d548bd71313ba6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x76d8193837d5651f15426566a2cb43b7f2846c2783966a8c0a797d350ed7d6f3", + "transactionIndex": "0x3d", + "blockHash": "0x5996c28a958da8a015f2c525cb9db3ba870aa47f380d4e44995d735a31605319", + "blockNumber": "0x2ee6f61", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xc734c8", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000001efecb61a2f80aa34d3b9218b564a64d05946290" + ], + "data": "0x00000000000000000000000000000000000000000000000000ebce39cefb65540000000000000000000000000000000000000000000000176bb30c4323236ce40000000000000000000000000000000000000000000004b0c8c5e9e64f2b5bba0000000000000000000000000000000000000000000000176ac73e09542807900000000000000000000000000000000000000000000004b0c9b1b8201e26c10e", + "blockHash": "0x5996c28a958da8a015f2c525cb9db3ba870aa47f380d4e44995d735a31605319", + "blockNumber": "0x2ee6f61", + "transactionHash": "0x76d8193837d5651f15426566a2cb43b7f2846c2783966a8c0a797d350ed7d6f3", + "transactionIndex": "0x3d", + "logIndex": "0x33f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000200000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000100000000000001000000000000000000000000000000100000000000002000000000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2116ae53d0" + }, + { + "transactionHash": "0xa249d4e7c95a902172af0b6fb0f2b903d6f468a15ab0ee7b4e2ad29f9d587f64", + "transactionIndex": "0x3e", + "blockHash": "0x5996c28a958da8a015f2c525cb9db3ba870aa47f380d4e44995d735a31605319", + "blockNumber": "0x2ee6f61", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xc7ea2a", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000001efecb61a2f80aa34d3b9218b564a64d05946290" + ], + "data": "0x0000000000000000000000000000000000000000000000000005b770db58ddd200000000000000000000000000000000000000000000001767ebfced35c23aa40000000000000000000000000000000000000000000004b0c9b1b8201e26c10e00000000000000000000000000000000000000000000001767e6457c5a695cd20000000000000000000000000000000000000000000004b0c9b76f90f97f9ee0", + "blockHash": "0x5996c28a958da8a015f2c525cb9db3ba870aa47f380d4e44995d735a31605319", + "blockNumber": "0x2ee6f61", + "transactionHash": "0xa249d4e7c95a902172af0b6fb0f2b903d6f468a15ab0ee7b4e2ad29f9d587f64", + "transactionIndex": "0x3e", + "logIndex": "0x340", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000200000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000100000000000001000000000000000000000000000000100000000000002000000000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2116ae53d0" + }, + { + "transactionHash": "0x4badbac6e176884e5d0f411b3324e822a8ee5c2e8b2b9eeb5fcbf71d3b0b7a06", + "transactionIndex": "0x3f", + "blockHash": "0x5996c28a958da8a015f2c525cb9db3ba870aa47f380d4e44995d735a31605319", + "blockNumber": "0x2ee6f61", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xe41c4b", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000001efecb61a2f80aa34d3b9218b564a64d05946290" + ], + "data": "0x00000000000000000000000000000000000000000000000000e37da0a7c14ed900000000000000000000000000000000000000000000001767d48b3945c415040000000000000000000000000000000000000000000004b0c9b76f90f97f9ee000000000000000000000000000000000000000000000001766f10d989e02c62b0000000000000000000000000000000000000000000004b0ca9aed31a140edb9", + "blockHash": "0x5996c28a958da8a015f2c525cb9db3ba870aa47f380d4e44995d735a31605319", + "blockNumber": "0x2ee6f61", + "transactionHash": "0x4badbac6e176884e5d0f411b3324e822a8ee5c2e8b2b9eeb5fcbf71d3b0b7a06", + "transactionIndex": "0x3f", + "logIndex": "0x341", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000200000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000100000000000001000000000000000000000000000000100000000000002000000000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2116ae53d0" + }, + { + "transactionHash": "0xfe21ba2e07f590c1c12743b5a8ea9bdbfd0ac3cde4734d6033d548bd71313ba6", + "transactionIndex": "0x21", + "blockHash": "0x39bff971c30360268c17fc2b00ea4bf13fb0eec701442469ac14db5f05797d4b", + "blockNumber": "0x2ee6f62", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x45a590", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000001efecb61a2f80aa34d3b9218b564a64d05946290" + ], + "data": "0x00000000000000000000000000000000000000000000000000052a6b039af4cc000000000000000000000000000000000000000000000017642f9576222ca7340000000000000000000000000000000000000000000004b0d1642bc1cb81a06c000000000000000000000000000000000000000000000017642a6b0b1e91b2680000000000000000000000000000000000000000000004b0d169562ccf1c9538", + "blockHash": "0x39bff971c30360268c17fc2b00ea4bf13fb0eec701442469ac14db5f05797d4b", + "blockNumber": "0x2ee6f62", + "transactionHash": "0xfe21ba2e07f590c1c12743b5a8ea9bdbfd0ac3cde4734d6033d548bd71313ba6", + "transactionIndex": "0x21", + "logIndex": "0x71", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000200000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000100000000000001000000000000000000000000000000100000000000002000000000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x2116ae53d0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336463, + "chain": 137, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/204/run-1699462945.json b/broadcast/DeployKernel.s.sol/204/run-1699462945.json new file mode 100644 index 00000000..f156e4a5 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/204/run-1699462945.json @@ -0,0 +1,123 @@ +{ + "transactions": [ + { + "hash": "0x998e092abdf3d2aca39428f2fdfe5b3a44a85191c8fd57d5a12e74efa0d2c7c6", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4b39b1f7eb3877ce59246fd4d10a3dd3a388edac58563823a4cabec963cf9241", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb9b7af8a7df6e69ee61d09389fa4c72e30463869ccab562fd47e9dba3a1ea05f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3fe5b50da77da0edfccd15e4780789302687d5e86938fae6c8cd8f03956d3383", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf8bb33428c2a3d506876627fca3780acee050569cb28c7b3b1d41c99dab8f734", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x998e092abdf3d2aca39428f2fdfe5b3a44a85191c8fd57d5a12e74efa0d2c7c6", + "0x4b39b1f7eb3877ce59246fd4d10a3dd3a388edac58563823a4cabec963cf9241", + "0xb9b7af8a7df6e69ee61d09389fa4c72e30463869ccab562fd47e9dba3a1ea05f", + "0x3fe5b50da77da0edfccd15e4780789302687d5e86938fae6c8cd8f03956d3383", + "0xf8bb33428c2a3d506876627fca3780acee050569cb28c7b3b1d41c99dab8f734" + ], + "returns": {}, + "timestamp": 1699462945, + "chain": 204, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/204/run-1699462952.json b/broadcast/DeployKernel.s.sol/204/run-1699462952.json new file mode 100644 index 00000000..a7efae4a --- /dev/null +++ b/broadcast/DeployKernel.s.sol/204/run-1699462952.json @@ -0,0 +1,214 @@ +{ + "transactions": [ + { + "hash": "0x998e092abdf3d2aca39428f2fdfe5b3a44a85191c8fd57d5a12e74efa0d2c7c6", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4b39b1f7eb3877ce59246fd4d10a3dd3a388edac58563823a4cabec963cf9241", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb9b7af8a7df6e69ee61d09389fa4c72e30463869ccab562fd47e9dba3a1ea05f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3fe5b50da77da0edfccd15e4780789302687d5e86938fae6c8cd8f03956d3383", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf8bb33428c2a3d506876627fca3780acee050569cb28c7b3b1d41c99dab8f734", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x998e092abdf3d2aca39428f2fdfe5b3a44a85191c8fd57d5a12e74efa0d2c7c6", + "transactionIndex": "0x1", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xb5274", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "transactionHash": "0x998e092abdf3d2aca39428f2fdfe5b3a44a85191c8fd57d5a12e74efa0d2c7c6", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x4b39b1f7eb3877ce59246fd4d10a3dd3a388edac58563823a4cabec963cf9241", + "transactionIndex": "0x2", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x288c68", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0xb9b7af8a7df6e69ee61d09389fa4c72e30463869ccab562fd47e9dba3a1ea05f", + "transactionIndex": "0x3", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2941ca", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x3fe5b50da77da0edfccd15e4780789302687d5e86938fae6c8cd8f03956d3383", + "transactionIndex": "0x4", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4573eb", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0xf8bb33428c2a3d506876627fca3780acee050569cb28c7b3b1d41c99dab8f734", + "transactionIndex": "0x5", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x46294d", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462952, + "chain": 204, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/204/run-latest.json b/broadcast/DeployKernel.s.sol/204/run-latest.json new file mode 100644 index 00000000..a7efae4a --- /dev/null +++ b/broadcast/DeployKernel.s.sol/204/run-latest.json @@ -0,0 +1,214 @@ +{ + "transactions": [ + { + "hash": "0x998e092abdf3d2aca39428f2fdfe5b3a44a85191c8fd57d5a12e74efa0d2c7c6", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x4b39b1f7eb3877ce59246fd4d10a3dd3a388edac58563823a4cabec963cf9241", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb9b7af8a7df6e69ee61d09389fa4c72e30463869ccab562fd47e9dba3a1ea05f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3fe5b50da77da0edfccd15e4780789302687d5e86938fae6c8cd8f03956d3383", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf8bb33428c2a3d506876627fca3780acee050569cb28c7b3b1d41c99dab8f734", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x998e092abdf3d2aca39428f2fdfe5b3a44a85191c8fd57d5a12e74efa0d2c7c6", + "transactionIndex": "0x1", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xb5274", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "transactionHash": "0x998e092abdf3d2aca39428f2fdfe5b3a44a85191c8fd57d5a12e74efa0d2c7c6", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x4b39b1f7eb3877ce59246fd4d10a3dd3a388edac58563823a4cabec963cf9241", + "transactionIndex": "0x2", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x288c68", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0xb9b7af8a7df6e69ee61d09389fa4c72e30463869ccab562fd47e9dba3a1ea05f", + "transactionIndex": "0x3", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2941ca", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x3fe5b50da77da0edfccd15e4780789302687d5e86938fae6c8cd8f03956d3383", + "transactionIndex": "0x4", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4573eb", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0xf8bb33428c2a3d506876627fca3780acee050569cb28c7b3b1d41c99dab8f734", + "transactionIndex": "0x5", + "blockHash": "0x463ec07cea15f32811abc1ad321f41e1a890c80695989e8dabfa5325fc256881", + "blockNumber": "0x75a228", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x46294d", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462952, + "chain": 204, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/420/run-1698330343.json b/broadcast/DeployKernel.s.sol/420/run-1698330343.json new file mode 100644 index 00000000..0f33ebe3 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/420/run-1698330343.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0x3457579931430e5617554484dbdff4e25294f528014880026f31ddf223f95a25", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x70f3d422f0b682bfcd94444389e5679667e38a09891047370c6442c2d0ffad7a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2ceb83cf2858c1d64ca387388916aa60b783a3d2ca75eb3d8ceb2d9a3e4c9c0b", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x397451e0921e5c79d8ef1dd7da519d4ffb6d7ed80ba081b491315198a6ac5466", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x3457579931430e5617554484dbdff4e25294f528014880026f31ddf223f95a25", + "0x70f3d422f0b682bfcd94444389e5679667e38a09891047370c6442c2d0ffad7a", + "0x2ceb83cf2858c1d64ca387388916aa60b783a3d2ca75eb3d8ceb2d9a3e4c9c0b", + "0x397451e0921e5c79d8ef1dd7da519d4ffb6d7ed80ba081b491315198a6ac5466" + ], + "returns": {}, + "timestamp": 1698330343, + "chain": 420, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/420/run-1698330350.json b/broadcast/DeployKernel.s.sol/420/run-1698330350.json new file mode 100644 index 00000000..418f911c --- /dev/null +++ b/broadcast/DeployKernel.s.sol/420/run-1698330350.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0x3457579931430e5617554484dbdff4e25294f528014880026f31ddf223f95a25", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x70f3d422f0b682bfcd94444389e5679667e38a09891047370c6442c2d0ffad7a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2ceb83cf2858c1d64ca387388916aa60b783a3d2ca75eb3d8ceb2d9a3e4c9c0b", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x397451e0921e5c79d8ef1dd7da519d4ffb6d7ed80ba081b491315198a6ac5466", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3457579931430e5617554484dbdff4e25294f528014880026f31ddf223f95a25", + "transactionIndex": "0x2", + "blockHash": "0x014272bec823892b8f126d9141226090872a02ff246e027ec649dd026ca3a046", + "blockNumber": "0xfb0642", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x256e3d", + "gasUsed": "0x2390c1", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e52f" + }, + { + "transactionHash": "0x70f3d422f0b682bfcd94444389e5679667e38a09891047370c6442c2d0ffad7a", + "transactionIndex": "0x3", + "blockHash": "0x014272bec823892b8f126d9141226090872a02ff246e027ec649dd026ca3a046", + "blockNumber": "0xfb0642", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x26239f", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e52f" + }, + { + "transactionHash": "0x2ceb83cf2858c1d64ca387388916aa60b783a3d2ca75eb3d8ceb2d9a3e4c9c0b", + "transactionIndex": "0x4", + "blockHash": "0x014272bec823892b8f126d9141226090872a02ff246e027ec649dd026ca3a046", + "blockNumber": "0xfb0642", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4894d4", + "gasUsed": "0x227135", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e52f" + }, + { + "transactionHash": "0x397451e0921e5c79d8ef1dd7da519d4ffb6d7ed80ba081b491315198a6ac5466", + "transactionIndex": "0x5", + "blockHash": "0x014272bec823892b8f126d9141226090872a02ff246e027ec649dd026ca3a046", + "blockNumber": "0xfb0642", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x494a36", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e52f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698330350, + "chain": 420, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/420/run-1698335726.json b/broadcast/DeployKernel.s.sol/420/run-1698335726.json new file mode 100644 index 00000000..3f83d717 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/420/run-1698335726.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0x55c51d918c821b5b5fba150742f30eb62a383e7eda50ce9dc0e3ae6a5549cda2", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x14" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd0a7d4b84c4b7e18fc7d0ba585debcbf1d9beb227fcd971681afbd829d0eba9e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xece118be3aec17faf76f225d97f0529370521acdd95d1caab0aa3401200ec210", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x16" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x301f3d11e7902be6468f2197df6dcd6dad66403e27ab497b9990cf6c6913b01e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x55c51d918c821b5b5fba150742f30eb62a383e7eda50ce9dc0e3ae6a5549cda2", + "0xd0a7d4b84c4b7e18fc7d0ba585debcbf1d9beb227fcd971681afbd829d0eba9e", + "0xece118be3aec17faf76f225d97f0529370521acdd95d1caab0aa3401200ec210", + "0x301f3d11e7902be6468f2197df6dcd6dad66403e27ab497b9990cf6c6913b01e" + ], + "returns": {}, + "timestamp": 1698335726, + "chain": 420, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/420/run-1698335733.json b/broadcast/DeployKernel.s.sol/420/run-1698335733.json new file mode 100644 index 00000000..77ef469f --- /dev/null +++ b/broadcast/DeployKernel.s.sol/420/run-1698335733.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0x55c51d918c821b5b5fba150742f30eb62a383e7eda50ce9dc0e3ae6a5549cda2", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x14" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd0a7d4b84c4b7e18fc7d0ba585debcbf1d9beb227fcd971681afbd829d0eba9e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xece118be3aec17faf76f225d97f0529370521acdd95d1caab0aa3401200ec210", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x16" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x301f3d11e7902be6468f2197df6dcd6dad66403e27ab497b9990cf6c6913b01e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x55c51d918c821b5b5fba150742f30eb62a383e7eda50ce9dc0e3ae6a5549cda2", + "transactionIndex": "0x5", + "blockHash": "0x9c0afd9d6834af1855ce51b89bd56f2f09a232941f0166db206f13d0db9b8e02", + "blockNumber": "0xfb10c6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x20ae74", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e132" + }, + { + "transactionHash": "0xd0a7d4b84c4b7e18fc7d0ba585debcbf1d9beb227fcd971681afbd829d0eba9e", + "transactionIndex": "0x6", + "blockHash": "0x9c0afd9d6834af1855ce51b89bd56f2f09a232941f0166db206f13d0db9b8e02", + "blockNumber": "0xfb10c6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2163d6", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e132" + }, + { + "transactionHash": "0xece118be3aec17faf76f225d97f0529370521acdd95d1caab0aa3401200ec210", + "transactionIndex": "0x7", + "blockHash": "0x9c0afd9d6834af1855ce51b89bd56f2f09a232941f0166db206f13d0db9b8e02", + "blockNumber": "0xfb10c6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3d95f7", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e132" + }, + { + "transactionHash": "0x301f3d11e7902be6468f2197df6dcd6dad66403e27ab497b9990cf6c6913b01e", + "transactionIndex": "0x8", + "blockHash": "0x9c0afd9d6834af1855ce51b89bd56f2f09a232941f0166db206f13d0db9b8e02", + "blockNumber": "0xfb10c6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3e4b59", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e132" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335733, + "chain": 420, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/42161/run-1698336344.json b/broadcast/DeployKernel.s.sol/42161/run-1698336344.json new file mode 100644 index 00000000..ee081ab9 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/42161/run-1698336344.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x200cdef", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x132518", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1f15d2b", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x132518", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336344, + "chain": 42161, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/42161/run-1698336378.json b/broadcast/DeployKernel.s.sol/42161/run-1698336378.json new file mode 100644 index 00000000..074eee11 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/42161/run-1698336378.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x200cdef", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x132518", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1f15d2b", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x132518", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336378, + "chain": 42161, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/42161/run-1698336431.json b/broadcast/DeployKernel.s.sol/42161/run-1698336431.json new file mode 100644 index 00000000..3de2c449 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/42161/run-1698336431.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x200cdef", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x132518", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1f15d2b", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x132518", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336431, + "chain": 42161, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/42161/run-1698336696.json b/broadcast/DeployKernel.s.sol/42161/run-1698336696.json new file mode 100644 index 00000000..ff796dbb --- /dev/null +++ b/broadcast/DeployKernel.s.sol/42161/run-1698336696.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x188728b", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xe8529", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x17c948e", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xe8529", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336696, + "chain": 42161, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/42161/run-1698337477.json b/broadcast/DeployKernel.s.sol/42161/run-1698337477.json new file mode 100644 index 00000000..653bcff6 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/42161/run-1698337477.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xbc9e5d6767c7676acc24c4fcaf546f57aced30962b0840cb94d030370fcc0699", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x18eb523", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa505c12e775dd0aeee58fad348768ae615789e9ae049b152783580b8bff4eeae", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xec2be", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3efc7089a0d69e285ae1e2e122b4525498decef30fdd8f6ba069203e679ac6e2", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x182a791", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x897345bff2e770420622b77ed58f8f1be427892b8e5d5755f7718a0f50de296a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xec2be", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xbc9e5d6767c7676acc24c4fcaf546f57aced30962b0840cb94d030370fcc0699", + "transactionIndex": "0x2", + "blockHash": "0xa3cd729fedef79be5d32aa4844b4dc3446b89bccc093c6f2bf9d9d8cc6fb8dc2", + "blockNumber": "0x898e0d2", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x11b2596", + "gasUsed": "0x1156bc6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xa505c12e775dd0aeee58fad348768ae615789e9ae049b152783580b8bff4eeae", + "transactionIndex": "0x2", + "blockHash": "0x183e35e703146a0dfa7a79bb88e5ca87878334f430c42e6fbc9b834891083ee7", + "blockNumber": "0x898e0f6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xecad5", + "gasUsed": "0x91ca5", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x3efc7089a0d69e285ae1e2e122b4525498decef30fdd8f6ba069203e679ac6e2", + "transactionIndex": "0x1", + "blockHash": "0x1cc57e806bbf3196b46dcbc4cd8829cfee077e4c01ca3588c72325023bbcc809", + "blockNumber": "0x898e0ff", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x10cf0e2", + "gasUsed": "0x10cf0e2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x897345bff2e770420622b77ed58f8f1be427892b8e5d5755f7718a0f50de296a", + "transactionIndex": "0x2", + "blockHash": "0xba8914eeeec3f2dd9fdb92b27f2e04828d4f7a27b1821d40de512bbd4dff2270", + "blockNumber": "0x898e121", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x10b5d6", + "gasUsed": "0x91ca5", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698337477, + "chain": 42161, + "multi": false, + "commit": "e1104e2" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/421613/run-1698330315.json b/broadcast/DeployKernel.s.sol/421613/run-1698330315.json new file mode 100644 index 00000000..110f0e7a --- /dev/null +++ b/broadcast/DeployKernel.s.sol/421613/run-1698330315.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0xb6e5bf0ef1581c76b0c680279bde711d7b8da347ce139900f87faedcc376541f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2ee5e6", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbbf5eeff67cdca1f5e5d9d4e4a802ca8abd16c4f345db08e039bae0363276b55", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xebcc", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x29b8f3c0704094292c0d6bc1918ccfab9acd8047dd37f30c4b0f46ad53c1fe53", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2d6a8f", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd1421e44a9e6225c45e9b8eae18b6e823cc3b85eb6a220849d3f687ecfd68314", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xebcc", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xb6e5bf0ef1581c76b0c680279bde711d7b8da347ce139900f87faedcc376541f", + "transactionIndex": "0x2", + "blockHash": "0x1a853f585675dc3ba26edc60e0e55ce36e874fb1d5b30f4997ec3679942c83b3", + "blockNumber": "0x30a59cf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x256445", + "gasUsed": "0x2390c1", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x37b3cbd0" + }, + { + "transactionHash": "0xbbf5eeff67cdca1f5e5d9d4e4a802ca8abd16c4f345db08e039bae0363276b55", + "transactionIndex": "0x1", + "blockHash": "0x8f540046fb0cf352603d536488cb38f14b99d779a4493e7011f4aea35a49bc9e", + "blockNumber": "0x30a59d6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x37296620" + }, + { + "transactionHash": "0x29b8f3c0704094292c0d6bc1918ccfab9acd8047dd37f30c4b0f46ad53c1fe53", + "transactionIndex": "0x1", + "blockHash": "0x58ca344d66154af60a747cd10d085e443d152f2e2da62627ec5c03716529abb3", + "blockNumber": "0x30a59dd", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x227135", + "gasUsed": "0x227135", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x36f38910" + }, + { + "transactionHash": "0xd1421e44a9e6225c45e9b8eae18b6e823cc3b85eb6a220849d3f687ecfd68314", + "transactionIndex": "0x1", + "blockHash": "0xdf0f5c3a14c6ca7327bf00a93edb9d6dacc0f077cfa8584c518704d2d1d8c4c5", + "blockNumber": "0x30a59e3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x372372b0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698330315, + "chain": 421613, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/421613/run-1698335664.json b/broadcast/DeployKernel.s.sol/421613/run-1698335664.json new file mode 100644 index 00000000..62e062c3 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/421613/run-1698335664.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0x366d329f44e7b0732292aa37d6bd57ae03edc03910a763e279a55e744c76fbe2", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x268936", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbea03d6c6ce527ef6135219761c072f6b08eda50358fe7165c81cde4079ecbbb", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xebcc", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb183cc218bd70ac03d323261b3228db95a8201f1b56ffa7fb77df14142fdbfa7", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x252d23", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x14" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1c57f457326f990e543c9c4cf4e594e88f4a6348f31891a71357a29e7c0550b8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xebcc", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x366d329f44e7b0732292aa37d6bd57ae03edc03910a763e279a55e744c76fbe2", + "transactionIndex": "0x2", + "blockHash": "0xa17fdaea44abca232b7604b9a787aaeeeeab9b03c58bff41571b9b80c779cb02", + "blockNumber": "0x30a93b4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x24c1f1", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xbea03d6c6ce527ef6135219761c072f6b08eda50358fe7165c81cde4079ecbbb", + "transactionIndex": "0x1", + "blockHash": "0x84bc8533e0245056185e65166de669565a24804df09912c44d9fa4a6600a960f", + "blockNumber": "0x30a93bd", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xb183cc218bd70ac03d323261b3228db95a8201f1b56ffa7fb77df14142fdbfa7", + "transactionIndex": "0x1", + "blockHash": "0xb65d2896f506000e3f2f83b9d3d632ecc09e75bfe7eaba869d5e7405a5c50897", + "blockNumber": "0x30a93c5", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1c3221", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x1c57f457326f990e543c9c4cf4e594e88f4a6348f31891a71357a29e7c0550b8", + "transactionIndex": "0x1", + "blockHash": "0xfcab1e51b470b6d24f75f73d9e48d61259816263084a4d37695e48b4e231962b", + "blockNumber": "0x30a93e9", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335664, + "chain": 421613, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698330908.json b/broadcast/DeployKernel.s.sol/43113/run-1698330908.json new file mode 100644 index 00000000..ba1897c6 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698330908.json @@ -0,0 +1,78 @@ +{ + "transactions": [ + { + "hash": "0x65096385898281c81e48e0f3c22ba7405fda8a667a2ab92eda27d6bdcdd7247e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae30000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2c9d4d72ababa019f6a43bda77682cc3d381422a41e6a9c53420655a4c7bdcc", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xacfe3bf4eb1baa3e9608cff21b18dd0167fd703ffbdd7a8dddacbaac88ef0835", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x65096385898281c81e48e0f3c22ba7405fda8a667a2ab92eda27d6bdcdd7247e", + "0xe2c9d4d72ababa019f6a43bda77682cc3d381422a41e6a9c53420655a4c7bdcc", + "0xacfe3bf4eb1baa3e9608cff21b18dd0167fd703ffbdd7a8dddacbaac88ef0835" + ], + "returns": {}, + "timestamp": 1698330908, + "chain": 43113, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698330921.json b/broadcast/DeployKernel.s.sol/43113/run-1698330921.json new file mode 100644 index 00000000..195dfdcf --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698330921.json @@ -0,0 +1,123 @@ +{ + "transactions": [ + { + "hash": "0x65096385898281c81e48e0f3c22ba7405fda8a667a2ab92eda27d6bdcdd7247e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae30000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2c9d4d72ababa019f6a43bda77682cc3d381422a41e6a9c53420655a4c7bdcc", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xacfe3bf4eb1baa3e9608cff21b18dd0167fd703ffbdd7a8dddacbaac88ef0835", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x65096385898281c81e48e0f3c22ba7405fda8a667a2ab92eda27d6bdcdd7247e", + "transactionIndex": "0x0", + "blockHash": "0x0929c0c68ad481fabcd479c1ee8fafa59952cac730f27872b0c86fe634731f07", + "blockNumber": "0x19e0ec4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xe2c9d4d72ababa019f6a43bda77682cc3d381422a41e6a9c53420655a4c7bdcc", + "transactionIndex": "0x0", + "blockHash": "0x40a937c2f584c91db0544fb18728a146aac3e862a95006bf6f02cc443be06acd", + "blockNumber": "0x19e0ec5", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x227135", + "gasUsed": "0x227135", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xacfe3bf4eb1baa3e9608cff21b18dd0167fd703ffbdd7a8dddacbaac88ef0835", + "transactionIndex": "0x0", + "blockHash": "0xa1c8e409368f51bf8acf827f6cc8b1e0d3fa19577e97d0342adb7f59254db570", + "blockNumber": "0x19e0ec6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698330921, + "chain": 43113, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698333957.json b/broadcast/DeployKernel.s.sol/43113/run-1698333957.json new file mode 100644 index 00000000..d0acc4d7 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698333957.json @@ -0,0 +1,58 @@ +{ + "transactions": [ + { + "hash": "0x3c5ae9e616a2bdc55e4af2e320d30ff817b4e651e9dbb0f44c2996d64e7aa5bc", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x24abba1231752e797da765f1238b032a859165618b74c3c53d261b149b086231", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x3c5ae9e616a2bdc55e4af2e320d30ff817b4e651e9dbb0f44c2996d64e7aa5bc", + "0x24abba1231752e797da765f1238b032a859165618b74c3c53d261b149b086231" + ], + "returns": {}, + "timestamp": 1698333957, + "chain": 43113, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698333964.json b/broadcast/DeployKernel.s.sol/43113/run-1698333964.json new file mode 100644 index 00000000..eb0ecaed --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698333964.json @@ -0,0 +1,88 @@ +{ + "transactions": [ + { + "hash": "0x3c5ae9e616a2bdc55e4af2e320d30ff817b4e651e9dbb0f44c2996d64e7aa5bc", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x24abba1231752e797da765f1238b032a859165618b74c3c53d261b149b086231", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3c5ae9e616a2bdc55e4af2e320d30ff817b4e651e9dbb0f44c2996d64e7aa5bc", + "transactionIndex": "0x0", + "blockHash": "0x7c14d1db69e08755fb38bbfe2118127fd9c413ed0addf55b13fb95d70e19b8c5", + "blockNumber": "0x19e1383", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x2390c1", + "gasUsed": "0x2390c1", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x24abba1231752e797da765f1238b032a859165618b74c3c53d261b149b086231", + "transactionIndex": "0x1", + "blockHash": "0x3ad4df9aa1e245d94be1362c3864ca051428be19ffb39b65b1192adb5e6f5618", + "blockNumber": "0x19e1384", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2623b", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698333964, + "chain": 43113, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698335859.json b/broadcast/DeployKernel.s.sol/43113/run-1698335859.json new file mode 100644 index 00000000..6c449f38 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698335859.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0x87554b8b21580afb6d435f837757ec4810f06d38088ef0c0b3656aebcb158588", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3935dc06b6974a8088b61bdc46b7a802701f9c359876d40d8ba436a59a5b251c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x57d12b97d73d54550321f3ba674293d1e0e7f22cc57de2760f47bcdfac7f6ebf", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x26f1e9872da30c890ccc73f8b7f84b48cf548f24c5e487d86ffae4977353fa39", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x87554b8b21580afb6d435f837757ec4810f06d38088ef0c0b3656aebcb158588", + "0x3935dc06b6974a8088b61bdc46b7a802701f9c359876d40d8ba436a59a5b251c", + "0x57d12b97d73d54550321f3ba674293d1e0e7f22cc57de2760f47bcdfac7f6ebf", + "0x26f1e9872da30c890ccc73f8b7f84b48cf548f24c5e487d86ffae4977353fa39" + ], + "returns": {}, + "timestamp": 1698335859, + "chain": 43113, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698335891.json b/broadcast/DeployKernel.s.sol/43113/run-1698335891.json new file mode 100644 index 00000000..e3870ba1 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698335891.json @@ -0,0 +1,130 @@ +{ + "transactions": [ + { + "hash": "0x87554b8b21580afb6d435f837757ec4810f06d38088ef0c0b3656aebcb158588", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3935dc06b6974a8088b61bdc46b7a802701f9c359876d40d8ba436a59a5b251c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x57d12b97d73d54550321f3ba674293d1e0e7f22cc57de2760f47bcdfac7f6ebf", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x26f1e9872da30c890ccc73f8b7f84b48cf548f24c5e487d86ffae4977353fa39", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x87554b8b21580afb6d435f837757ec4810f06d38088ef0c0b3656aebcb158588", + "transactionIndex": "0x1", + "blockHash": "0x4ebc52c25aa336b9c08dc8be7e8a6cd914973dee9a4d7a5a6a5f56c630a5fe5a", + "blockNumber": "0x19e16a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1ecbb7", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x3935dc06b6974a8088b61bdc46b7a802701f9c359876d40d8ba436a59a5b251c", + "transactionIndex": "0x1", + "blockHash": "0x0d37ee1420831491d97b7642cf9f8a71f0c33c0b2ddbd8548406114e316c1555", + "blockNumber": "0x19e16a5", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x24731", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335891, + "chain": 43113, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698335919.json b/broadcast/DeployKernel.s.sol/43113/run-1698335919.json new file mode 100644 index 00000000..57a611a7 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698335919.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335919, + "chain": 43113, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698335987.json b/broadcast/DeployKernel.s.sol/43113/run-1698335987.json new file mode 100644 index 00000000..78a5e4a1 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698335987.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335987, + "chain": 43113, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698336192.json b/broadcast/DeployKernel.s.sol/43113/run-1698336192.json new file mode 100644 index 00000000..044bf6d6 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698336192.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336192, + "chain": 43113, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43113/run-1698336263.json b/broadcast/DeployKernel.s.sol/43113/run-1698336263.json new file mode 100644 index 00000000..04772bc7 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43113/run-1698336263.json @@ -0,0 +1,56 @@ +{ + "transactions": [ + { + "hash": "0x57d12b97d73d54550321f3ba674293d1e0e7f22cc57de2760f47bcdfac7f6ebf", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x57d12b97d73d54550321f3ba674293d1e0e7f22cc57de2760f47bcdfac7f6ebf" + ], + "returns": {}, + "timestamp": 1698336263, + "chain": 43113, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43114/run-1698333843.json b/broadcast/DeployKernel.s.sol/43114/run-1698333843.json new file mode 100644 index 00000000..85bb5706 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43114/run-1698333843.json @@ -0,0 +1,78 @@ +{ + "transactions": [ + { + "hash": "0x8d49795119af25593dcfac97006c02ffc8f617f06ccaf60195eced27fd224b5a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae30000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3fcf060a2c7072cba743be0bb78c319f3d1ea641ff04bcd254eedfec0526e09", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b6c733e533427c913e2b18cda769ebe8900b6fdd28b4feac8c64c46c0853139", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x8d49795119af25593dcfac97006c02ffc8f617f06ccaf60195eced27fd224b5a", + "0xd3fcf060a2c7072cba743be0bb78c319f3d1ea641ff04bcd254eedfec0526e09", + "0x0b6c733e533427c913e2b18cda769ebe8900b6fdd28b4feac8c64c46c0853139" + ], + "returns": {}, + "timestamp": 1698333843, + "chain": 43114, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43114/run-1698333856.json b/broadcast/DeployKernel.s.sol/43114/run-1698333856.json new file mode 100644 index 00000000..e8b1af16 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43114/run-1698333856.json @@ -0,0 +1,123 @@ +{ + "transactions": [ + { + "hash": "0x8d49795119af25593dcfac97006c02ffc8f617f06ccaf60195eced27fd224b5a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae30000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd3fcf060a2c7072cba743be0bb78c319f3d1ea641ff04bcd254eedfec0526e09", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0b6c733e533427c913e2b18cda769ebe8900b6fdd28b4feac8c64c46c0853139", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8d49795119af25593dcfac97006c02ffc8f617f06ccaf60195eced27fd224b5a", + "transactionIndex": "0x0", + "blockHash": "0x93282d05768bea4e74e61ac43eee16f91fa5a430c209936364a9e0ad76fb1086", + "blockNumber": "0x233ce83", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xd3fcf060a2c7072cba743be0bb78c319f3d1ea641ff04bcd254eedfec0526e09", + "transactionIndex": "0x0", + "blockHash": "0x981918f451e9db511f20d4ae01e45b3c02f083537d4207783841677017eea296", + "blockNumber": "0x233ce84", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x227135", + "gasUsed": "0x227135", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x0b6c733e533427c913e2b18cda769ebe8900b6fdd28b4feac8c64c46c0853139", + "transactionIndex": "0x5", + "blockHash": "0x613a0088f0bcebb37c9d58f49c5c71448c4da4a16ff6de289c1d6843bfee87bd", + "blockNumber": "0x233ce85", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa04c1", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698333856, + "chain": 43114, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43114/run-1698336309.json b/broadcast/DeployKernel.s.sol/43114/run-1698336309.json new file mode 100644 index 00000000..31effb99 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43114/run-1698336309.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xf7f21164d308628bd1d7f6dd53f06af2fe8c7a6eea018ab3cae1cab3b496af22", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd42631baf0c301a7681a5cb24f9aa107971c8f94614b31079854951aef6581a9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc74e16349e8e6410074f0bb08436ad2979e08bc7aa17c36b37f6dbd94cb2da6c", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0a66600df80b552a2f0eb63f52c0f9014e8248c202456ef39f09f88d6d5ab9ef", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xf7f21164d308628bd1d7f6dd53f06af2fe8c7a6eea018ab3cae1cab3b496af22", + "0xd42631baf0c301a7681a5cb24f9aa107971c8f94614b31079854951aef6581a9", + "0xc74e16349e8e6410074f0bb08436ad2979e08bc7aa17c36b37f6dbd94cb2da6c", + "0x0a66600df80b552a2f0eb63f52c0f9014e8248c202456ef39f09f88d6d5ab9ef" + ], + "returns": {}, + "timestamp": 1698336309, + "chain": 43114, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/43114/run-1698336316.json b/broadcast/DeployKernel.s.sol/43114/run-1698336316.json new file mode 100644 index 00000000..d9674c1d --- /dev/null +++ b/broadcast/DeployKernel.s.sol/43114/run-1698336316.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xf7f21164d308628bd1d7f6dd53f06af2fe8c7a6eea018ab3cae1cab3b496af22", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd42631baf0c301a7681a5cb24f9aa107971c8f94614b31079854951aef6581a9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc74e16349e8e6410074f0bb08436ad2979e08bc7aa17c36b37f6dbd94cb2da6c", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0a66600df80b552a2f0eb63f52c0f9014e8248c202456ef39f09f88d6d5ab9ef", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf7f21164d308628bd1d7f6dd53f06af2fe8c7a6eea018ab3cae1cab3b496af22", + "transactionIndex": "0x2", + "blockHash": "0x465b925c9390181e38f2577dab8d317716d8dacefab25a19adf36133a9869fd5", + "blockNumber": "0x233d342", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e70de", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xd42631baf0c301a7681a5cb24f9aa107971c8f94614b31079854951aef6581a9", + "transactionIndex": "0x1", + "blockHash": "0x03101f8f93d435a6fd75311fbe108d3a2898f8601b096f701228b105d9c41bfc", + "blockNumber": "0x233d343", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x26384", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xc74e16349e8e6410074f0bb08436ad2979e08bc7aa17c36b37f6dbd94cb2da6c", + "transactionIndex": "0x6", + "blockHash": "0x40cf0247d0e02fd9e7e7a8235ea1a629fb95334eae2a170f915f74ccb5edec86", + "blockNumber": "0x233d344", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x27b235", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x0a66600df80b552a2f0eb63f52c0f9014e8248c202456ef39f09f88d6d5ab9ef", + "transactionIndex": "0x3", + "blockHash": "0x8a74c3c8a63e27debebb72150c3631c6163c21878086969edcc700d788c372ab", + "blockNumber": "0x233d345", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x78fee", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336316, + "chain": 43114, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/5/run-1698330259.json b/broadcast/DeployKernel.s.sol/5/run-1698330259.json new file mode 100644 index 00000000..3edbe0d3 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/5/run-1698330259.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0xec5266356116563c7740adddabc152951043499f6ec41f226ce7bd76a351628d", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x51" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e0a817059b6679d96f6594d0d0bb0b4241ddcb5165bc3ab270195d9c8b7dec3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x52" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3594a96c47df300744320826755df9c73ee9ea9f00fe3dfbf18bd4e3d0aac59c", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x53" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x406cbfa1dc56c72fa14e99ca50f66ecea479bbde987e43f8b9d99299ca5e327f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x54" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xec5266356116563c7740adddabc152951043499f6ec41f226ce7bd76a351628d", + "0x7e0a817059b6679d96f6594d0d0bb0b4241ddcb5165bc3ab270195d9c8b7dec3", + "0x3594a96c47df300744320826755df9c73ee9ea9f00fe3dfbf18bd4e3d0aac59c", + "0x406cbfa1dc56c72fa14e99ca50f66ecea479bbde987e43f8b9d99299ca5e327f" + ], + "returns": {}, + "timestamp": 1698330259, + "chain": 5, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/5/run-1698330272.json b/broadcast/DeployKernel.s.sol/5/run-1698330272.json new file mode 100644 index 00000000..4c253e82 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/5/run-1698330272.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0xec5266356116563c7740adddabc152951043499f6ec41f226ce7bd76a351628d", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x51" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7e0a817059b6679d96f6594d0d0bb0b4241ddcb5165bc3ab270195d9c8b7dec3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x52" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3594a96c47df300744320826755df9c73ee9ea9f00fe3dfbf18bd4e3d0aac59c", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x53" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x406cbfa1dc56c72fa14e99ca50f66ecea479bbde987e43f8b9d99299ca5e327f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x54" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xec5266356116563c7740adddabc152951043499f6ec41f226ce7bd76a351628d", + "transactionIndex": "0x72", + "blockHash": "0x9b05873405e1951dd1fed9685921af1e11218f3b8b498bbfad55e91d0c671e6c", + "blockNumber": "0x979728", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xd95d50", + "gasUsed": "0x239371", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf" + }, + { + "transactionHash": "0x7e0a817059b6679d96f6594d0d0bb0b4241ddcb5165bc3ab270195d9c8b7dec3", + "transactionIndex": "0x73", + "blockHash": "0x9b05873405e1951dd1fed9685921af1e11218f3b8b498bbfad55e91d0c671e6c", + "blockNumber": "0x979728", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xda12b2", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf" + }, + { + "transactionHash": "0x3594a96c47df300744320826755df9c73ee9ea9f00fe3dfbf18bd4e3d0aac59c", + "transactionIndex": "0x74", + "blockHash": "0x9b05873405e1951dd1fed9685921af1e11218f3b8b498bbfad55e91d0c671e6c", + "blockNumber": "0x979728", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xfc867f", + "gasUsed": "0x2273cd", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf" + }, + { + "transactionHash": "0x406cbfa1dc56c72fa14e99ca50f66ecea479bbde987e43f8b9d99299ca5e327f", + "transactionIndex": "0x75", + "blockHash": "0x9b05873405e1951dd1fed9685921af1e11218f3b8b498bbfad55e91d0c671e6c", + "blockNumber": "0x979728", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xfd3be1", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698330272, + "chain": 5, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/5/run-1698335490.json b/broadcast/DeployKernel.s.sol/5/run-1698335490.json new file mode 100644 index 00000000..89b72061 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/5/run-1698335490.json @@ -0,0 +1,58 @@ +{ + "transactions": [ + { + "hash": "0xd363ccd296c3a1d8d27e9afa5dddb21e84219e4e0b46934b58324ebb777e3b93", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x55" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb159f2a409f8bdb8486419c05490bde93f9b4600582e2ce660209eec1b6d6322", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x56" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd363ccd296c3a1d8d27e9afa5dddb21e84219e4e0b46934b58324ebb777e3b93", + "0xb159f2a409f8bdb8486419c05490bde93f9b4600582e2ce660209eec1b6d6322" + ], + "returns": {}, + "timestamp": 1698335490, + "chain": 5, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/5/run-1698335523.json b/broadcast/DeployKernel.s.sol/5/run-1698335523.json new file mode 100644 index 00000000..abd57488 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/5/run-1698335523.json @@ -0,0 +1,88 @@ +{ + "transactions": [ + { + "hash": "0xd363ccd296c3a1d8d27e9afa5dddb21e84219e4e0b46934b58324ebb777e3b93", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x55" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb159f2a409f8bdb8486419c05490bde93f9b4600582e2ce660209eec1b6d6322", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x56" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd363ccd296c3a1d8d27e9afa5dddb21e84219e4e0b46934b58324ebb777e3b93", + "transactionIndex": "0x4d", + "blockHash": "0x5a41a0c8d8d8cd082575b378b141a815ccf8c322dbed545e6e183c9fafd0e810", + "blockNumber": "0x97987c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x10de06d", + "gasUsed": "0x1d3c2a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x10" + }, + { + "transactionHash": "0xb159f2a409f8bdb8486419c05490bde93f9b4600582e2ce660209eec1b6d6322", + "transactionIndex": "0x4e", + "blockHash": "0x5a41a0c8d8d8cd082575b378b141a815ccf8c322dbed545e6e183c9fafd0e810", + "blockNumber": "0x97987c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12a14b0", + "gasUsed": "0x1c3443", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x10" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335523, + "chain": 5, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/5/run-1698335603.json b/broadcast/DeployKernel.s.sol/5/run-1698335603.json new file mode 100644 index 00000000..a75f8966 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/5/run-1698335603.json @@ -0,0 +1,53 @@ +{ + "transactions": [ + { + "hash": "0xf4a1c2e787a91ebc8314f0274471b7a788bc56410c988c43b77fe530a4aca0a6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x57" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xda2f4668078566b442ea614a37b8326c8e86f76acdc43cfd78226947e9dc70aa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x58" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xf4a1c2e787a91ebc8314f0274471b7a788bc56410c988c43b77fe530a4aca0a6", + "0xda2f4668078566b442ea614a37b8326c8e86f76acdc43cfd78226947e9dc70aa" + ], + "returns": {}, + "timestamp": 1698335603, + "chain": 5, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/5/run-1698335622.json b/broadcast/DeployKernel.s.sol/5/run-1698335622.json new file mode 100644 index 00000000..4f370f1c --- /dev/null +++ b/broadcast/DeployKernel.s.sol/5/run-1698335622.json @@ -0,0 +1,83 @@ +{ + "transactions": [ + { + "hash": "0xf4a1c2e787a91ebc8314f0274471b7a788bc56410c988c43b77fe530a4aca0a6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x57" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xda2f4668078566b442ea614a37b8326c8e86f76acdc43cfd78226947e9dc70aa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x58" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf4a1c2e787a91ebc8314f0274471b7a788bc56410c988c43b77fe530a4aca0a6", + "transactionIndex": "0x55", + "blockHash": "0xe7e4d86c55ae9b6d3e78017310dd7316d9ccb9ce1b676d1f793ca78047421421", + "blockNumber": "0x979884", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb65028", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x11" + }, + { + "transactionHash": "0xda2f4668078566b442ea614a37b8326c8e86f76acdc43cfd78226947e9dc70aa", + "transactionIndex": "0x56", + "blockHash": "0xe7e4d86c55ae9b6d3e78017310dd7316d9ccb9ce1b676d1f793ca78047421421", + "blockNumber": "0x979884", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb7058a", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x11" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335622, + "chain": 5, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/56/run-1698336552.json b/broadcast/DeployKernel.s.sol/56/run-1698336552.json new file mode 100644 index 00000000..af09f1ac --- /dev/null +++ b/broadcast/DeployKernel.s.sol/56/run-1698336552.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0x0f02193877abc1254fb8ebe3242e0830169d1414a3c527dbfc5b61cc384b0603", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x532ff20a510d726456d138f712ff3b6e26becd4f14c6b8eb2baf63b755f0f122", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x01c4d3e46c3f494c8803ae6f43f62a67b68f356b7ef1356516f429c4f8915d08", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xab69c0faf384d4dfca1c4f3a452fc2676a9c61a327463afc1a31a624f5b2eef0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x0f02193877abc1254fb8ebe3242e0830169d1414a3c527dbfc5b61cc384b0603", + "0x532ff20a510d726456d138f712ff3b6e26becd4f14c6b8eb2baf63b755f0f122", + "0x01c4d3e46c3f494c8803ae6f43f62a67b68f356b7ef1356516f429c4f8915d08", + "0xab69c0faf384d4dfca1c4f3a452fc2676a9c61a327463afc1a31a624f5b2eef0" + ], + "returns": {}, + "timestamp": 1698336552, + "chain": 56, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/56/run-1698336565.json b/broadcast/DeployKernel.s.sol/56/run-1698336565.json new file mode 100644 index 00000000..ee4ee304 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/56/run-1698336565.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0x0f02193877abc1254fb8ebe3242e0830169d1414a3c527dbfc5b61cc384b0603", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x532ff20a510d726456d138f712ff3b6e26becd4f14c6b8eb2baf63b755f0f122", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x01c4d3e46c3f494c8803ae6f43f62a67b68f356b7ef1356516f429c4f8915d08", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xab69c0faf384d4dfca1c4f3a452fc2676a9c61a327463afc1a31a624f5b2eef0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x0f02193877abc1254fb8ebe3242e0830169d1414a3c527dbfc5b61cc384b0603", + "transactionIndex": "0x15", + "blockHash": "0x7601f0a418cb513f78ac532857c54e7095afb8ab12ffd250b98481d14ef36dee", + "blockNumber": "0x1f6b328", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3505d1", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0x532ff20a510d726456d138f712ff3b6e26becd4f14c6b8eb2baf63b755f0f122", + "transactionIndex": "0x16", + "blockHash": "0x7601f0a418cb513f78ac532857c54e7095afb8ab12ffd250b98481d14ef36dee", + "blockNumber": "0x1f6b328", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x35bb33", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0x01c4d3e46c3f494c8803ae6f43f62a67b68f356b7ef1356516f429c4f8915d08", + "transactionIndex": "0x17", + "blockHash": "0x7601f0a418cb513f78ac532857c54e7095afb8ab12ffd250b98481d14ef36dee", + "blockNumber": "0x1f6b328", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x51ed54", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0xab69c0faf384d4dfca1c4f3a452fc2676a9c61a327463afc1a31a624f5b2eef0", + "transactionIndex": "0x18", + "blockHash": "0x7601f0a418cb513f78ac532857c54e7095afb8ab12ffd250b98481d14ef36dee", + "blockNumber": "0x1f6b328", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x52a2b6", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336565, + "chain": 56, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/59140/run-1699462521.json b/broadcast/DeployKernel.s.sol/59140/run-1699462521.json new file mode 100644 index 00000000..deb4e0fe --- /dev/null +++ b/broadcast/DeployKernel.s.sol/59140/run-1699462521.json @@ -0,0 +1,119 @@ +{ + "transactions": [ + { + "hash": "0x6c68256d27e71d1eafd42b60be9a8c09e4d77b9d96999a046c2b77ebceb247a1", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x6c68256d27e71d1eafd42b60be9a8c09e4d77b9d96999a046c2b77ebceb247a1" + ], + "returns": {}, + "timestamp": 1699462521, + "chain": 59140, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/59140/run-latest.json b/broadcast/DeployKernel.s.sol/59140/run-latest.json new file mode 100644 index 00000000..deb4e0fe --- /dev/null +++ b/broadcast/DeployKernel.s.sol/59140/run-latest.json @@ -0,0 +1,119 @@ +{ + "transactions": [ + { + "hash": "0x6c68256d27e71d1eafd42b60be9a8c09e4d77b9d96999a046c2b77ebceb247a1", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x6c68256d27e71d1eafd42b60be9a8c09e4d77b9d96999a046c2b77ebceb247a1" + ], + "returns": {}, + "timestamp": 1699462521, + "chain": 59140, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/59144/run-1699461069.json b/broadcast/DeployKernel.s.sol/59144/run-1699461069.json new file mode 100644 index 00000000..97ac9e47 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/59144/run-1699461069.json @@ -0,0 +1,108 @@ +{ + "transactions": [ + { + "hash": "0x6f98f1a07c84955d9b97dd9142e8f3c918c16427b3909e25db958132ea971381", + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "function": null, + "arguments": [ + "0x9775137314fE595c943712B0b336327dfa80aE8A", + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xeee85", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b0438819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a3690816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107ab5781632569296214610760578163296601cd146105745781634d6cb700146105025781635414dff0146104d157816354d1f13d1461048b578163584465f21461044b5781636544c8281461040d578163715018a6146103c75781638da5cb5b1461039a578163b0d691fe14610372578163bb30a9741461031c57838263bb9fe6bf146102c3578263c23a5cea1461023857508163db4c545e1461020e578163f04e283e1461018e578163f2fde38b14610121575063fee81cf4146100eb57600080fd5b3461011d57602036600319011261011d5760209161010761081c565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261011d5761013761081c565b90610140610865565b8160601b15610183575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b8390602036600319011261011d576101a461081c565b906101ad610865565b63389a75e1600c528183526020600c209081544211610203575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b50503461011d578160031936011261011d576020906089601361022f6108af565b01209051908152f35b809184346102bf5760203660031901126102bf5781356001600160a01b0381811693918490036102bb5761026a610865565b84541692833b156102bb5760248592838551968794859363611d2e7560e11b85528401525af19081156102b2575061029f5750f35b6102a8906109ea565b6102af5780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102bf57826003193601126102bf576102de610865565b82546001600160a01b031691823b1561031757815163bb9fe6bf60e01b81529284918491829084905af19081156102b2575061029f5750f35b505050fd5b50503461011d578060031936011261011d5761033661081c565b906024359182151580930361036e5761034d610865565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b50503461011d578160031936011261011d57905490516001600160a01b039091168152602090f35b50503461011d578160031936011261011d57638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102af576103db610865565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b50503461011d57602036600319011261011d5760209160ff9082906001600160a01b0361043861081c565b1681526001855220541690519015158152f35b83903461011d57602036600319011261011d57356001600160a01b0381169081900361011d57610479610865565b81546001600160a01b03191617815580f35b83806003193601126102af5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102af5760203660031901126102af57506104f160209235610882565b90516001600160a01b039091168152f35b8284346102af57816003193601126102af5782359067ffffffffffffffff82116102af57506bffffffffffffffffffffffff6105466020946104f193369101610837565b61056b8580518381948a830196873781016024358a8201520388810184520182610a14565b51902016610882565b828460603660031901126102af5761058a61081c565b9160243567ffffffffffffffff811161075c576105aa9036908601610837565b9360018060a01b039384821681526020966001885260ff858320541615610707576bffffffffffffffffffffffff8551898101908987833761060088828d8d82019060443590820152038d810184520182610a14565b51902016963315600117156106fb576106176108af565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b1561064f575b8b8b8b8b5191168152f35b856089929394959697989b50f59788156106ef57918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106d557507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a38480808080808080610644565b3d156106e457503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102af5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b919050602036600319011261075c5782823563ffffffff811680910361011d576107d3610865565b81546001600160a01b031693843b1561075c5760249084519586938492621cb65b60e51b845283015234905af19081156102b25750610810575080f35b610819906109ea565b80f35b600435906001600160a01b038216820361083257565b600080fd5b9181601f840112156108325782359167ffffffffffffffff8311610832576020838186019501011161083257565b638b78c6d81954330361087457565b6382b429006000526004601cfd5b6089601361088e6108af565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561095357666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff81116109fe57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176109fe57604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0efb71b9c744d49a02ec58b0561bf759d08351debf0fe0b8c0c5482d562ea2b6", + "transactionType": "CALL", + "contractName": "KernelFactory", + "contractAddress": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "function": "setImplementation(address,bool)", + "arguments": [ + "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x3c9b4f57240866176364d15cf94c549725f5fc85", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc7095776e4847fa2e903a9cc1d80dbceff69532a55a0c03f1a4df635ad6c6d16", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x67fb207ddcf13201dcc8ccd1f8851af84498ffa4daa9ede62f9c0afc6b8556e7", + "transactionType": "CALL", + "contractName": "KernelFactory", + "contractAddress": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "function": "setImplementation(address,bool)", + "arguments": [ + "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x3c9b4f57240866176364d15cf94c549725f5fc85", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x6f98f1a07c84955d9b97dd9142e8f3c918c16427b3909e25db958132ea971381", + "0x0efb71b9c744d49a02ec58b0561bf759d08351debf0fe0b8c0c5482d562ea2b6", + "0xc7095776e4847fa2e903a9cc1d80dbceff69532a55a0c03f1a4df635ad6c6d16", + "0x67fb207ddcf13201dcc8ccd1f8851af84498ffa4daa9ede62f9c0afc6b8556e7" + ], + "returns": {}, + "timestamp": 1699461069, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/59144/run-1699461089.json b/broadcast/DeployKernel.s.sol/59144/run-1699461089.json new file mode 100644 index 00000000..bfe51eb2 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/59144/run-1699461089.json @@ -0,0 +1,184 @@ +{ + "transactions": [ + { + "hash": "0x6f98f1a07c84955d9b97dd9142e8f3c918c16427b3909e25db958132ea971381", + "transactionType": "CREATE2", + "contractName": "KernelFactory", + "contractAddress": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "function": null, + "arguments": [ + "0x9775137314fE595c943712B0b336327dfa80aE8A", + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xeee85", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b0438819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a3690816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107ab5781632569296214610760578163296601cd146105745781634d6cb700146105025781635414dff0146104d157816354d1f13d1461048b578163584465f21461044b5781636544c8281461040d578163715018a6146103c75781638da5cb5b1461039a578163b0d691fe14610372578163bb30a9741461031c57838263bb9fe6bf146102c3578263c23a5cea1461023857508163db4c545e1461020e578163f04e283e1461018e578163f2fde38b14610121575063fee81cf4146100eb57600080fd5b3461011d57602036600319011261011d5760209161010761081c565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261011d5761013761081c565b90610140610865565b8160601b15610183575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b8390602036600319011261011d576101a461081c565b906101ad610865565b63389a75e1600c528183526020600c209081544211610203575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b50503461011d578160031936011261011d576020906089601361022f6108af565b01209051908152f35b809184346102bf5760203660031901126102bf5781356001600160a01b0381811693918490036102bb5761026a610865565b84541692833b156102bb5760248592838551968794859363611d2e7560e11b85528401525af19081156102b2575061029f5750f35b6102a8906109ea565b6102af5780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102bf57826003193601126102bf576102de610865565b82546001600160a01b031691823b1561031757815163bb9fe6bf60e01b81529284918491829084905af19081156102b2575061029f5750f35b505050fd5b50503461011d578060031936011261011d5761033661081c565b906024359182151580930361036e5761034d610865565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b50503461011d578160031936011261011d57905490516001600160a01b039091168152602090f35b50503461011d578160031936011261011d57638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102af576103db610865565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b50503461011d57602036600319011261011d5760209160ff9082906001600160a01b0361043861081c565b1681526001855220541690519015158152f35b83903461011d57602036600319011261011d57356001600160a01b0381169081900361011d57610479610865565b81546001600160a01b03191617815580f35b83806003193601126102af5763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102af5760203660031901126102af57506104f160209235610882565b90516001600160a01b039091168152f35b8284346102af57816003193601126102af5782359067ffffffffffffffff82116102af57506bffffffffffffffffffffffff6105466020946104f193369101610837565b61056b8580518381948a830196873781016024358a8201520388810184520182610a14565b51902016610882565b828460603660031901126102af5761058a61081c565b9160243567ffffffffffffffff811161075c576105aa9036908601610837565b9360018060a01b039384821681526020966001885260ff858320541615610707576bffffffffffffffffffffffff8551898101908987833761060088828d8d82019060443590820152038d810184520182610a14565b51902016963315600117156106fb576106176108af565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b1561064f575b8b8b8b8b5191168152f35b856089929394959697989b50f59788156106ef57918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106d557507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a38480808080808080610644565b3d156106e457503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102af5763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b919050602036600319011261075c5782823563ffffffff811680910361011d576107d3610865565b81546001600160a01b031693843b1561075c5760249084519586938492621cb65b60e51b845283015234905af19081156102b25750610810575080f35b610819906109ea565b80f35b600435906001600160a01b038216820361083257565b600080fd5b9181601f840112156108325782359167ffffffffffffffff8311610832576020838186019501011161083257565b638b78c6d81954330361087457565b6382b429006000526004601cfd5b6089601361088e6108af565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561095357666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff81116109fe57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176109fe57604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0efb71b9c744d49a02ec58b0561bf759d08351debf0fe0b8c0c5482d562ea2b6", + "transactionType": "CALL", + "contractName": "KernelFactory", + "contractAddress": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "function": "setImplementation(address,bool)", + "arguments": [ + "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x3c9b4f57240866176364d15cf94c549725f5fc85", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc7095776e4847fa2e903a9cc1d80dbceff69532a55a0c03f1a4df635ad6c6d16", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x67fb207ddcf13201dcc8ccd1f8851af84498ffa4daa9ede62f9c0afc6b8556e7", + "transactionType": "CALL", + "contractName": "KernelFactory", + "contractAddress": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "function": "setImplementation(address,bool)", + "arguments": [ + "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x3c9b4f57240866176364d15cf94c549725f5fc85", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x6f98f1a07c84955d9b97dd9142e8f3c918c16427b3909e25db958132ea971381", + "transactionIndex": "0x1", + "blockHash": "0xa18e0c69cfcc4359e427a999e701683d034af19f7ad5f7548d634062e83fd583", + "blockNumber": "0xc6798", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xaa7ec", + "gasUsed": "0xa35b1", + "contractAddress": null, + "logs": [ + { + "address": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xa18e0c69cfcc4359e427a999e701683d034af19f7ad5f7548d634062e83fd583", + "blockNumber": "0xc6798", + "transactionHash": "0x6f98f1a07c84955d9b97dd9142e8f3c918c16427b3909e25db958132ea971381", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000001000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000100000000000400000000000000000000000000000000000000000000000000000080000000000001000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x0efb71b9c744d49a02ec58b0561bf759d08351debf0fe0b8c0c5482d562ea2b6", + "transactionIndex": "0x2", + "blockHash": "0xa18e0c69cfcc4359e427a999e701683d034af19f7ad5f7548d634062e83fd583", + "blockNumber": "0xc6798", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "cumulativeGasUsed": "0xb5d4e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0xc7095776e4847fa2e903a9cc1d80dbceff69532a55a0c03f1a4df635ad6c6d16", + "transactionIndex": "0x3", + "blockHash": "0xa18e0c69cfcc4359e427a999e701683d034af19f7ad5f7548d634062e83fd583", + "blockNumber": "0xc6798", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x278f6f", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x67fb207ddcf13201dcc8ccd1f8851af84498ffa4daa9ede62f9c0afc6b8556e7", + "transactionIndex": "0x4", + "blockHash": "0xa18e0c69cfcc4359e427a999e701683d034af19f7ad5f7548d634062e83fd583", + "blockNumber": "0xc6798", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x3C9b4f57240866176364d15Cf94c549725f5FC85", + "cumulativeGasUsed": "0x2844d1", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699461089, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/59144/run-1699462232.json b/broadcast/DeployKernel.s.sol/59144/run-1699462232.json new file mode 100644 index 00000000..9e43562e --- /dev/null +++ b/broadcast/DeployKernel.s.sol/59144/run-1699462232.json @@ -0,0 +1,100 @@ +{ + "transactions": [ + { + "hash": "0x9607ad2c1ccabe7db29866950adf80903cf856283e106b3b3ba56d6a52c8fd4e", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x912325775b01ff47b940d032717baec62b336fa9af5841069db291ea5a4daa5e", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x792686a640cf5aaa0bf7123e34f5c69a9dba62e2db0e93906500d136f05b81e1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xba21ec170131ecb233239f175a99659f894a4e4a9c596a1bcbef0df480f3cf86", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x9607ad2c1ccabe7db29866950adf80903cf856283e106b3b3ba56d6a52c8fd4e", + "0x912325775b01ff47b940d032717baec62b336fa9af5841069db291ea5a4daa5e", + "0x792686a640cf5aaa0bf7123e34f5c69a9dba62e2db0e93906500d136f05b81e1", + "0xba21ec170131ecb233239f175a99659f894a4e4a9c596a1bcbef0df480f3cf86" + ], + "returns": {}, + "timestamp": 1699462232, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/59144/run-1699462239.json b/broadcast/DeployKernel.s.sol/59144/run-1699462239.json new file mode 100644 index 00000000..4454ef1b --- /dev/null +++ b/broadcast/DeployKernel.s.sol/59144/run-1699462239.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0x9607ad2c1ccabe7db29866950adf80903cf856283e106b3b3ba56d6a52c8fd4e", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x912325775b01ff47b940d032717baec62b336fa9af5841069db291ea5a4daa5e", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x792686a640cf5aaa0bf7123e34f5c69a9dba62e2db0e93906500d136f05b81e1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xba21ec170131ecb233239f175a99659f894a4e4a9c596a1bcbef0df480f3cf86", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x9607ad2c1ccabe7db29866950adf80903cf856283e106b3b3ba56d6a52c8fd4e", + "transactionIndex": "0x8", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1561ee", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "transactionHash": "0x9607ad2c1ccabe7db29866950adf80903cf856283e106b3b3ba56d6a52c8fd4e", + "transactionIndex": "0x8", + "logIndex": "0xf", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x912325775b01ff47b940d032717baec62b336fa9af5841069db291ea5a4daa5e", + "transactionIndex": "0x9", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x329be2", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x792686a640cf5aaa0bf7123e34f5c69a9dba62e2db0e93906500d136f05b81e1", + "transactionIndex": "0xa", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x335144", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0xba21ec170131ecb233239f175a99659f894a4e4a9c596a1bcbef0df480f3cf86", + "transactionIndex": "0xb", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3406a6", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462239, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/59144/run-latest.json b/broadcast/DeployKernel.s.sol/59144/run-latest.json new file mode 100644 index 00000000..4454ef1b --- /dev/null +++ b/broadcast/DeployKernel.s.sol/59144/run-latest.json @@ -0,0 +1,176 @@ +{ + "transactions": [ + { + "hash": "0x9607ad2c1ccabe7db29866950adf80903cf856283e106b3b3ba56d6a52c8fd4e", + "transactionType": "CREATE2", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x912325775b01ff47b940d032717baec62b336fa9af5841069db291ea5a4daa5e", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x792686a640cf5aaa0bf7123e34f5c69a9dba62e2db0e93906500d136f05b81e1", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xba21ec170131ecb233239f175a99659f894a4e4a9c596a1bcbef0df480f3cf86", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x9607ad2c1ccabe7db29866950adf80903cf856283e106b3b3ba56d6a52c8fd4e", + "transactionIndex": "0x8", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1561ee", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "transactionHash": "0x9607ad2c1ccabe7db29866950adf80903cf856283e106b3b3ba56d6a52c8fd4e", + "transactionIndex": "0x8", + "logIndex": "0xf", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x912325775b01ff47b940d032717baec62b336fa9af5841069db291ea5a4daa5e", + "transactionIndex": "0x9", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x329be2", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x792686a640cf5aaa0bf7123e34f5c69a9dba62e2db0e93906500d136f05b81e1", + "transactionIndex": "0xa", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x335144", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0xba21ec170131ecb233239f175a99659f894a4e4a9c596a1bcbef0df480f3cf86", + "transactionIndex": "0xb", + "blockHash": "0xede107664daf7e4cb062dc5b29f56c937fff96f2160872277df81987601baf02", + "blockNumber": "0xc67f8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3406a6", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462239, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/80001/run-1698330217.json b/broadcast/DeployKernel.s.sol/80001/run-1698330217.json new file mode 100644 index 00000000..029b69d2 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/80001/run-1698330217.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0xfacf6afeba13ec09ba827ebd082c4532afc40f4cdf6d33ab82ad7a34a6a1623a", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x110" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6cffecb621d13d1c7ab72d7c902efb2596d4183c43236aaf95ed96d483ce5cc2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x111" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x029ac044c53082be9217cecdaa61661e5d9d58628e0291f81168b7f7080fe34d", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x112" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa41c9bad6b0b41a98bb4ed621d1226d8f36515411c1eb430170932f104698db2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x113" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xfacf6afeba13ec09ba827ebd082c4532afc40f4cdf6d33ab82ad7a34a6a1623a", + "0x6cffecb621d13d1c7ab72d7c902efb2596d4183c43236aaf95ed96d483ce5cc2", + "0x029ac044c53082be9217cecdaa61661e5d9d58628e0291f81168b7f7080fe34d", + "0xa41c9bad6b0b41a98bb4ed621d1226d8f36515411c1eb430170932f104698db2" + ], + "returns": {}, + "timestamp": 1698330217, + "chain": 80001, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/80001/run-1698330224.json b/broadcast/DeployKernel.s.sol/80001/run-1698330224.json new file mode 100644 index 00000000..b2193568 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/80001/run-1698330224.json @@ -0,0 +1,226 @@ +{ + "transactions": [ + { + "hash": "0xfacf6afeba13ec09ba827ebd082c4532afc40f4cdf6d33ab82ad7a34a6a1623a", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x110" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6cffecb621d13d1c7ab72d7c902efb2596d4183c43236aaf95ed96d483ce5cc2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x111" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x029ac044c53082be9217cecdaa61661e5d9d58628e0291f81168b7f7080fe34d", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x112" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa41c9bad6b0b41a98bb4ed621d1226d8f36515411c1eb430170932f104698db2", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x113" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xfacf6afeba13ec09ba827ebd082c4532afc40f4cdf6d33ab82ad7a34a6a1623a", + "transactionIndex": "0xc", + "blockHash": "0x599665da816d12522813d26f178557f7b2c6bfbbe61c8c436ddeb2ae48fe22a1", + "blockNumber": "0x27bd435", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3ae6b6", + "gasUsed": "0x2390c1", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x000000000000000000000000000000000000000000000000000c6bcc6efb6f0000000000000000000000000000000000000000000000000017dd2cc79cb4f23500000000000000000000000000000000000000000000031ecc7d6e7ed1df9bfd00000000000000000000000000000000000000000000000017d0c0fb2db9833500000000000000000000000000000000000000000000031ecc89da4b40db0afd", + "blockHash": "0x599665da816d12522813d26f178557f7b2c6bfbbe61c8c436ddeb2ae48fe22a1", + "blockNumber": "0x27bd435", + "transactionHash": "0xfacf6afeba13ec09ba827ebd082c4532afc40f4cdf6d33ab82ad7a34a6a1623a", + "transactionIndex": "0xc", + "logIndex": "0x3e", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + }, + { + "transactionHash": "0x6cffecb621d13d1c7ab72d7c902efb2596d4183c43236aaf95ed96d483ce5cc2", + "transactionIndex": "0xd", + "blockHash": "0x599665da816d12522813d26f178557f7b2c6bfbbe61c8c436ddeb2ae48fe22a1", + "blockNumber": "0x27bd435", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3b9c18", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe0000000000000000000000000000000000000000000000000017d0c0fb2b80772500000000000000000000000000000000000000000000031ecc89da4b40db0afd00000000000000000000000000000000000000000000000017d081a24863792500000000000000000000000000000000000000000000031ecc8a19a423f808fd", + "blockHash": "0x599665da816d12522813d26f178557f7b2c6bfbbe61c8c436ddeb2ae48fe22a1", + "blockNumber": "0x27bd435", + "transactionHash": "0x6cffecb621d13d1c7ab72d7c902efb2596d4183c43236aaf95ed96d483ce5cc2", + "transactionIndex": "0xd", + "logIndex": "0x3f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + }, + { + "transactionHash": "0x029ac044c53082be9217cecdaa61661e5d9d58628e0291f81168b7f7080fe34d", + "transactionIndex": "0x10", + "blockHash": "0x599665da816d12522813d26f178557f7b2c6bfbbe61c8c436ddeb2ae48fe22a1", + "blockNumber": "0x27bd435", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x6547a0", + "gasUsed": "0x227135", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x000000000000000000000000000000000000000000000000000c075fbd50bb0000000000000000000000000000000000000000000000000017d081a24858230500000000000000000000000000000000000000000000031ecc8c9fdc046545fd00000000000000000000000000000000000000000000000017c47a428b07680500000000000000000000000000000000000000000000031ecc98a73bc1b600fd", + "blockHash": "0x599665da816d12522813d26f178557f7b2c6bfbbe61c8c436ddeb2ae48fe22a1", + "blockNumber": "0x27bd435", + "transactionHash": "0x029ac044c53082be9217cecdaa61661e5d9d58628e0291f81168b7f7080fe34d", + "transactionIndex": "0x10", + "logIndex": "0x5f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + }, + { + "transactionHash": "0xa41c9bad6b0b41a98bb4ed621d1226d8f36515411c1eb430170932f104698db2", + "transactionIndex": "0x11", + "blockHash": "0x599665da816d12522813d26f178557f7b2c6bfbbe61c8c436ddeb2ae48fe22a1", + "blockNumber": "0x27bd435", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x65fd02", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe0000000000000000000000000000000000000000000000000017c47a4288e054b500000000000000000000000000000000000000000000031ecc98a73bc1b600fd00000000000000000000000000000000000000000000000017c43ae9a5c356b500000000000000000000000000000000000000000000031ecc98e694a4d2fefd", + "blockHash": "0x599665da816d12522813d26f178557f7b2c6bfbbe61c8c436ddeb2ae48fe22a1", + "blockNumber": "0x27bd435", + "transactionHash": "0xa41c9bad6b0b41a98bb4ed621d1226d8f36515411c1eb430170932f104698db2", + "transactionIndex": "0x11", + "logIndex": "0x60", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698330224, + "chain": 80001, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/80001/run-1698335824.json b/broadcast/DeployKernel.s.sol/80001/run-1698335824.json new file mode 100644 index 00000000..d196e2c0 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/80001/run-1698335824.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0xd69e5e23d1ee48fe10eee3f94f415771a27aa98232c867b1d24ac6b63426728b", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x114" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd4185c1ebe8e63425fb64af55099795a44884076fb017e81b5eb5fe8bcb30563", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x115" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0cdb0b4b3030bb6f65eb6d7f593027a741bcf00028a6c7ada1128b6a6ebe99d2", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x116" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7f85c002bb6e326c92a23f3a2d4990780a6748c5b60f34f9f93814160176809c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x117" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd69e5e23d1ee48fe10eee3f94f415771a27aa98232c867b1d24ac6b63426728b", + "0xd4185c1ebe8e63425fb64af55099795a44884076fb017e81b5eb5fe8bcb30563", + "0x0cdb0b4b3030bb6f65eb6d7f593027a741bcf00028a6c7ada1128b6a6ebe99d2", + "0x7f85c002bb6e326c92a23f3a2d4990780a6748c5b60f34f9f93814160176809c" + ], + "returns": {}, + "timestamp": 1698335824, + "chain": 80001, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/80001/run-1698335831.json b/broadcast/DeployKernel.s.sol/80001/run-1698335831.json new file mode 100644 index 00000000..90cba5a2 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/80001/run-1698335831.json @@ -0,0 +1,226 @@ +{ + "transactions": [ + { + "hash": "0xd69e5e23d1ee48fe10eee3f94f415771a27aa98232c867b1d24ac6b63426728b", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x114" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd4185c1ebe8e63425fb64af55099795a44884076fb017e81b5eb5fe8bcb30563", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x115" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0cdb0b4b3030bb6f65eb6d7f593027a741bcf00028a6c7ada1128b6a6ebe99d2", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x116" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7f85c002bb6e326c92a23f3a2d4990780a6748c5b60f34f9f93814160176809c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x117" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd69e5e23d1ee48fe10eee3f94f415771a27aa98232c867b1d24ac6b63426728b", + "transactionIndex": "0x2", + "blockHash": "0x7d6a2c688ae490490c06859f3cf20b5665a5bdfb91f02352686c222e530757dd", + "blockNumber": "0x27bde82", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e743d", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000be188d6641e8b680743a4815dfa0f6208038960f" + ], + "data": "0x000000000000000000000000000000000000000000000000000a350abcc3cc0000000000000000000000000000000000000000000000000017c43ae9a5b800950000000000000000000000000000000000000000000034fd892b829e0228c89300000000000000000000000000000000000000000000000017ba05dee8f434950000000000000000000000000000000000000000000034fd8935b7a8beec9493", + "blockHash": "0x7d6a2c688ae490490c06859f3cf20b5665a5bdfb91f02352686c222e530757dd", + "blockNumber": "0x27bde82", + "transactionHash": "0xd69e5e23d1ee48fe10eee3f94f415771a27aa98232c867b1d24ac6b63426728b", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000004200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000080000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100040000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0xd4185c1ebe8e63425fb64af55099795a44884076fb017e81b5eb5fe8bcb30563", + "transactionIndex": "0x5", + "blockHash": "0xd99f02626e53c274c77c1d779cc06491d1375ac320f9036d8634956524ad8be8", + "blockNumber": "0x27bde83", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x174c60", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000be188d6641e8b680743a4815dfa0f6208038960f" + ], + "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe0000000000000000000000000000000000000000000000000017ba05dee73dcf490000000000000000000000000000000000000000000034fd895d05bd51137e7400000000000000000000000000000000000000000000000017b9c6860420d1490000000000000000000000000000000000000000000034fd895d451634307c74", + "blockHash": "0xd99f02626e53c274c77c1d779cc06491d1375ac320f9036d8634956524ad8be8", + "blockNumber": "0x27bde83", + "transactionHash": "0xd4185c1ebe8e63425fb64af55099795a44884076fb017e81b5eb5fe8bcb30563", + "transactionIndex": "0x5", + "logIndex": "0x1e", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000004200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000080000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100040000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0x0cdb0b4b3030bb6f65eb6d7f593027a741bcf00028a6c7ada1128b6a6ebe99d2", + "transactionIndex": "0x6", + "blockHash": "0xd99f02626e53c274c77c1d779cc06491d1375ac320f9036d8634956524ad8be8", + "blockNumber": "0x27bde83", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x337e81", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000be188d6641e8b680743a4815dfa0f6208038960f" + ], + "data": "0x0000000000000000000000000000000000000000000000000009d8e7039c0f0000000000000000000000000000000000000000000000000017b9c6860416308b0000000000000000000000000000000000000000000034fd895d451634307c7400000000000000000000000000000000000000000000000017afed9f007a218b0000000000000000000000000000000000000000000034fd89671dfd37cc8b74", + "blockHash": "0xd99f02626e53c274c77c1d779cc06491d1375ac320f9036d8634956524ad8be8", + "blockNumber": "0x27bde83", + "transactionHash": "0x0cdb0b4b3030bb6f65eb6d7f593027a741bcf00028a6c7ada1128b6a6ebe99d2", + "transactionIndex": "0x6", + "logIndex": "0x1f", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000004200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000080000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100040000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0x7f85c002bb6e326c92a23f3a2d4990780a6748c5b60f34f9f93814160176809c", + "transactionIndex": "0x7", + "blockHash": "0xd99f02626e53c274c77c1d779cc06491d1375ac320f9036d8634956524ad8be8", + "blockNumber": "0x27bde83", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3433e3", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000be188d6641e8b680743a4815dfa0f6208038960f" + ], + "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe0000000000000000000000000000000000000000000000000017afed9efed3319c0000000000000000000000000000000000000000000034fd89671dfd37cc8b7400000000000000000000000000000000000000000000000017afae461bb6339c0000000000000000000000000000000000000000000034fd89675d561ae98974", + "blockHash": "0xd99f02626e53c274c77c1d779cc06491d1375ac320f9036d8634956524ad8be8", + "blockNumber": "0x27bde83", + "transactionHash": "0x7f85c002bb6e326c92a23f3a2d4990780a6748c5b60f34f9f93814160176809c", + "transactionIndex": "0x7", + "logIndex": "0x20", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000004200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000080000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100040000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335831, + "chain": 80001, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/8453/run-1698336502.json b/broadcast/DeployKernel.s.sol/8453/run-1698336502.json new file mode 100644 index 00000000..80eb0841 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/8453/run-1698336502.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xedab5ede74260a80421d58f4a5499358903490ee40f6ada4d27ca1b0fb163fad", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x17e4c853e48d998f96302294bba927432ca479daa03236f28bee8e19d990dc94", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1101ed3c9101589250407f327583f9550054ef751e46c966e76ffb35b62ea09e", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xee2f3899a4955ed7f7cc78e0f84a4b07ac250f2b5eb7a9b85d28a15fd360f2e0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xedab5ede74260a80421d58f4a5499358903490ee40f6ada4d27ca1b0fb163fad", + "0x17e4c853e48d998f96302294bba927432ca479daa03236f28bee8e19d990dc94", + "0x1101ed3c9101589250407f327583f9550054ef751e46c966e76ffb35b62ea09e", + "0xee2f3899a4955ed7f7cc78e0f84a4b07ac250f2b5eb7a9b85d28a15fd360f2e0" + ], + "returns": {}, + "timestamp": 1698336502, + "chain": 8453, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/8453/run-1698336509.json b/broadcast/DeployKernel.s.sol/8453/run-1698336509.json new file mode 100644 index 00000000..3c241ae7 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/8453/run-1698336509.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xedab5ede74260a80421d58f4a5499358903490ee40f6ada4d27ca1b0fb163fad", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x17e4c853e48d998f96302294bba927432ca479daa03236f28bee8e19d990dc94", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x1101ed3c9101589250407f327583f9550054ef751e46c966e76ffb35b62ea09e", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xee2f3899a4955ed7f7cc78e0f84a4b07ac250f2b5eb7a9b85d28a15fd360f2e0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xedab5ede74260a80421d58f4a5499358903490ee40f6ada4d27ca1b0fb163fad", + "transactionIndex": "0x1", + "blockHash": "0xfa64e39a7799a844108e7bcaf32b34588243045ce74a5f5da4d10602d4787c17", + "blockNumber": "0x58190a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1df135", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0x17e4c853e48d998f96302294bba927432ca479daa03236f28bee8e19d990dc94", + "transactionIndex": "0x2", + "blockHash": "0xfa64e39a7799a844108e7bcaf32b34588243045ce74a5f5da4d10602d4787c17", + "blockNumber": "0x58190a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1ea697", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0x1101ed3c9101589250407f327583f9550054ef751e46c966e76ffb35b62ea09e", + "transactionIndex": "0x3", + "blockHash": "0xfa64e39a7799a844108e7bcaf32b34588243045ce74a5f5da4d10602d4787c17", + "blockNumber": "0x58190a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3ad8b8", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0xee2f3899a4955ed7f7cc78e0f84a4b07ac250f2b5eb7a9b85d28a15fd360f2e0", + "transactionIndex": "0x4", + "blockHash": "0xfa64e39a7799a844108e7bcaf32b34588243045ce74a5f5da4d10602d4787c17", + "blockNumber": "0x58190a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3b8e1a", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698336509, + "chain": 8453, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/84531/run-1698330423.json b/broadcast/DeployKernel.s.sol/84531/run-1698330423.json new file mode 100644 index 00000000..31be7cf8 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/84531/run-1698330423.json @@ -0,0 +1,100 @@ +{ + "transactions": [ + { + "hash": "0x5542ea6e2f4c9f8839113816dfa2ccafdbe6db93d4cdb874b7d3850ba7cecd04", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xb0A8C50B57a0Ffe1228FdbbAee89946A3B7786C0", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3403b3", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101606040523480156200001257600080fd5b5060405162002abc38038062002abc83398101604081905262000035916200018e565b306080524660a052818060608062000082604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b03908116610120527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a0100000000000000000000179055919091166101405250507fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e9780546001600160a01b0319166001179055620001cd565b6001600160a01b03811681146200018b57600080fd5b50565b60008060408385031215620001a257600080fd5b8251620001af8162000175565b6020840151909250620001c28162000175565b809150509250929050565b60805160a05160c05160e0516101005161012051610140516128406200027c6000396000818161066a015261195a015260008181610204015281816106070152818161090f01528181610b0f01528181610be001528181610c9401528181610fce015281816110520152818161110a01528181611212015281816112a0015261133601526000611af801526000611bb201526000611b8c01526000611b3c01526000611b1901526128406000f3fe60806040526004361061016a5760003560e01c806354fd4d50116100d1578063bc197c811161008a578063d1f5789411610064578063d1f57894146106a1578063d5416221146106b4578063f23a6e61146106c7578063f2fde38b146106f4576101a9565b8063bc197c8114610629578063cdaea3ed14610658578063d087d2881461068c576101a9565b806354fd4d501461052057806355b14f501461055157806357b750471461056457806384b0196e1461058957806388e7fd06146105b1578063b0d691fe146105f5576101a9565b806334fcd5be1161012357806334fcd5be146103a35780633659cfe6146103b65780633a871cdd146103c95780633e1b0812146103dc57806351166ba0146103fc578063519454471461050d576101a9565b806306fdde031461027c5780630b3dc354146102c4578063150b7a02146102fd5780631626ba7e1461034257806329f8b17414610362578063333daf9214610375576101a9565b366101a957604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101d06000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f00000000000000000000000000000000000000000000000000000000000000001633148015906102385750610236610707565b155b1561025657604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e808015610275573d6000f35b3d6000fd5b005b34801561028857600080fd5b506102ae6040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102bb9190611c55565b60405180910390f35b3480156102d057600080fd5b506000805160206128008339815191525460501c5b6040516001600160a01b0390911681526020016102bb565b34801561030957600080fd5b50610329610318366004611cd8565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102bb565b34801561034e57600080fd5b5061032961035d366004611d4a565b61085c565b61027a610370366004611dc1565b610904565b34801561038157600080fd5b50610395610390366004611d4a565b610aef565b6040519081526020016102bb565b61027a6103b1366004611f5f565b610b04565b61027a6103c4366004612072565b610bd5565b6103956103d736600461208f565b610c87565b3480156103e857600080fd5b506103956103f73660046120e2565b610fa7565b34801561040857600080fd5b506104c061041736600461210b565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102bb565b61027a61051b366004612126565b611047565b34801561052c57600080fd5b506102ae60405180604001604052806005815260200164181719171960d91b81525081565b61027a61055f366004612195565b6110ff565b34801561057057600080fd5b506000805160206128008339815191525460e01b610329565b34801561059557600080fd5b5061059e611195565b6040516102bb97969594939291906121d0565b3480156105bd57600080fd5b5060008051602061280083398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102bb565b34801561060157600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561063557600080fd5b506103296106443660046122aa565b63bc197c8160e01b98975050505050505050565b34801561066457600080fd5b506102e57f000000000000000000000000000000000000000000000000000000000000000081565b34801561069857600080fd5b506103956111f3565b61027a6106af366004612195565b61128a565b61027a6106c236600461210b565b611295565b3480156106d357600080fd5b506103296106e2366004612368565b63f23a6e6160e01b9695505050505050565b61027a610702366004612072565b61132b565b600080516020612820833981519152546000906001600160a01b0316330361072f5750600190565b600080356001600160e01b031916905060006107566000805160206127e083398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b031615806107ba57508054600160301b900465ffffffffffff16158015906107ba5750805442600160301b90910465ffffffffffff16105b806107cf575080544265ffffffffffff909116115b156107dd5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd5990610814903390600090369060040161240c565b602060405180830381865afa158015610831573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610855919061243a565b9250505090565b60008061086a858585610aef565b9050600080600061087a846113b1565b925092509250428365ffffffffffff1611156108a557506001600160e01b031993506108fd92505050565b428265ffffffffffff1610156108ca57506001600160e01b031993506108fd92505050565b6001600160a01b038116156108ee57506001600160e01b031993506108fd92505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061093d5750333014155b1561095b57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109b36000805160206127e083398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a70908590859060040161245c565b600060405180830381600087803b158015610a8a57600080fd5b505af1158015610a9e573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610afc8484846113e4565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b425750610b40610707565b155b15610b6057604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610bd0576000838281518110610b8157610b81612470565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561027557600187019650505050505050610b65565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610c0e5750333014155b15610c2c57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cd257604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cfb90828587612486565b610d04916124b0565b90506001600160e01b03198116600003610d3e578515610d28573434343489335af1505b610d3388888861148f565b9450505050506108fd565b6000610d49896124e0565b6000805160206128008339815191525490915060009060e081901b84166001600160e01b03191615610d8e5760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610e5a5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610de16004828688612486565b610dea916124b0565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610e23896004818d612486565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610ebe565b6001600160e01b03198416600160e11b03610eae5760408501358501601f19810135610e9d610e8d600460008486612486565b610e96916124b0565b8a8a611553565b919c509a5098509350610ebe915050565b60019750505050505050506108fd565b8815610ece57343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f9888836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610f50939291906125ee565b6020604051808303816000875af1158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f9391906126e0565b6118ba565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa15801561101d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104191906126e0565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110805750333014155b8015611091575061108f610707565b155b156110af57604051637046c88d60e01b815260040160405180910390fd5b60008160018111156110c3576110c36126f9565b146110e1576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e808015610275573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906111385750333014155b1561115657604051637046c88d60e01b815260040160405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526064015b60405180910390fd5b600f60f81b60608060008080836111e1604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061128591906126e0565b905090565b610bd0838383611958565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ce5750333014155b156112ec57604051637046c88d60e01b815260040160405180910390fd5b600080516020612800833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113645750333014155b1561138257604051637046c88d60e01b815260040160405180910390fd5b60008051602061282083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b600060a082901c65ffffffffffff1682811560001981016113d65765ffffffffffff92505b508360d01c92509193909250565b600080611455611419866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b85858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b03908116908216036114845760009150506108fd565b506001949350505050565b60008061151a6114c4856020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b6114d261014088018861270f565b6114e0916004908290612486565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a9b92505050565b9050600080516020612820833981519152546001600160a01b038281169116146115485760019150506108fd565b506000949350505050565b6000803681611566602460108789612486565b61156f91612755565b60601c935060586000611585826038898b612486565b61158e91612783565b828101929091508801816115a760208501858b8d612486565b6115b091612783565b60001c9250602084019350600061169a7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d6004906024926115f993929190612486565b61160291612783565b60001c8e8e60249060389261161993929190612486565b61162291612755565b60601c87876040516116359291906127a1565b60405190819003812061167f95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611af4565b90506116e86116bc828d8d8990898b01926116b793929190612486565b6113e4565b8c8c6004906024926116d093929190612486565b6116d991612783565b6001600160a01b0319166118ba565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261171893929190612486565b611721916127b1565b60d01c65ffffffffffff1681526020018c8c600a9060109261174593929190612486565b61174e916127b1565b60d01c65ffffffffffff1681526020018c8c60249060389261177293929190612486565b61177b91612755565b60601c6001600160a01b031681526020018c8c6010906024926117a093929190612486565b6117a991612755565b60601c90526000805160206127e08339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c9595569061187a908690869060040161245c565b600060405180830381600087803b15801561189457600080fd5b505af11580156118a8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b038284181615600181146118da5760019150611951565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119145765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611932575065ffffffffffff60a01b5b80821890821102188061194b575065ffffffffffff60a01b5b91909117905b5092915050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316146119e45760405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b606482015260840161118c565b600080516020612820833981519152546001600160a01b031615611a565760405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b606482015260840161118c565b6000611a656014828486612486565b611a6e91612755565b60008051602061282083398151915280546001600160a01b03191660609290921c91909117905550505050565b6000604051825184600052606084015160001a602052602084015160405260408401516060526020600160806000604185145afa519250503d611ae657638baa579f6000526004601cfd5b600060605260405292915050565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611be95750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611c3557602081850181015186830182015201611c19565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108fd6020830184611c0f565b6001600160a01b0381168114611c7d57600080fd5b50565b8035611c8b81611c68565b919050565b60008083601f840112611ca257600080fd5b5081356001600160401b03811115611cb957600080fd5b602083019150836020828501011115611cd157600080fd5b9250929050565b600080600080600060808688031215611cf057600080fd5b8535611cfb81611c68565b94506020860135611d0b81611c68565b93506040860135925060608601356001600160401b03811115611d2d57600080fd5b611d3988828901611c90565b969995985093965092949392505050565b600080600060408486031215611d5f57600080fd5b8335925060208401356001600160401b03811115611d7c57600080fd5b611d8886828701611c90565b9497909650939450505050565b80356001600160e01b031981168114611c8b57600080fd5b65ffffffffffff81168114611c7d57600080fd5b600080600080600080600060c0888a031215611ddc57600080fd5b611de588611d95565b96506020880135611df581611c68565b95506040880135611e0581611c68565b94506060880135611e1581611dad565b93506080880135611e2581611dad565b925060a08801356001600160401b03811115611e4057600080fd5b611e4c8a828b01611c90565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611e9757611e97611e5f565b60405290565b60405161016081016001600160401b0381118282101715611e9757611e97611e5f565b604051601f8201601f191681016001600160401b0381118282101715611ee857611ee8611e5f565b604052919050565b600082601f830112611f0157600080fd5b81356001600160401b03811115611f1a57611f1a611e5f565b611f2d601f8201601f1916602001611ec0565b818152846020838601011115611f4257600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611f7257600080fd5b82356001600160401b0380821115611f8957600080fd5b818501915085601f830112611f9d57600080fd5b813581811115611faf57611faf611e5f565b8060051b611fbe858201611ec0565b9182528381018501918581019089841115611fd857600080fd5b86860192505b8383101561206557823585811115611ff65760008081fd5b86016060818c03601f190181131561200e5760008081fd5b612016611e75565b8983013561202381611c68565b81526040838101358b8301529183013591888311156120425760008081fd5b6120508e8c85870101611ef0565b90820152845250509186019190860190611fde565b9998505050505050505050565b60006020828403121561208457600080fd5b81356108fd81611c68565b6000806000606084860312156120a457600080fd5b83356001600160401b038111156120ba57600080fd5b840161016081870312156120cd57600080fd5b95602085013595506040909401359392505050565b6000602082840312156120f457600080fd5b81356001600160c01b03811681146108fd57600080fd5b60006020828403121561211d57600080fd5b6108fd82611d95565b6000806000806080858703121561213c57600080fd5b843561214781611c68565b93506020850135925060408501356001600160401b0381111561216957600080fd5b61217587828801611ef0565b92505060608501356002811061218a57600080fd5b939692955090935050565b6000806000604084860312156121aa57600080fd5b83356121b581611c68565b925060208401356001600160401b03811115611d7c57600080fd5b60ff60f81b881681526000602060e0818401526121f060e084018a611c0f565b8381036040850152612202818a611c0f565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561225457835183529284019291840191600101612238565b50909c9b505050505050505050505050565b60008083601f84011261227857600080fd5b5081356001600160401b0381111561228f57600080fd5b6020830191508360208260051b8501011115611cd157600080fd5b60008060008060008060008060a0898b0312156122c657600080fd5b88356122d181611c68565b975060208901356122e181611c68565b965060408901356001600160401b03808211156122fd57600080fd5b6123098c838d01612266565b909850965060608b013591508082111561232257600080fd5b61232e8c838d01612266565b909650945060808b013591508082111561234757600080fd5b506123548b828c01611c90565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561238157600080fd5b863561238c81611c68565b9550602087013561239c81611c68565b9450604087013593506060870135925060808701356001600160401b038111156123c557600080fd5b6123d189828a01611c90565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061243190830184866123e3565b95945050505050565b60006020828403121561244c57600080fd5b815180151581146108fd57600080fd5b602081526000610afc6020830184866123e3565b634e487b7160e01b600052603260045260246000fd5b6000808585111561249657600080fd5b838611156124a357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156124d85780818660040360031b1b83161692505b505092915050565b600061016082360312156124f357600080fd5b6124fb611e9d565b61250483611c80565b81526020830135602082015260408301356001600160401b038082111561252a57600080fd5b61253636838701611ef0565b6040840152606085013591508082111561254f57600080fd5b61255b36838701611ef0565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156125ab57600080fd5b6125b736828801611ef0565b8385015250610140915081850135818111156125d257600080fd5b6125de36828801611ef0565b8385015250505080915050919050565b606081526126086060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526126306101c0850183611c0f565b91506060870151605f19808685030160c087015261264e8483611c0f565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526126aa8787611c0f565b9650808c0151955050505080868503016101a087015250506126cc8282611c0f565b602085019690965250505060400152919050565b6000602082840312156126f257600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b6000808335601e1984360301811261272657600080fd5b8301803591506001600160401b0382111561274057600080fd5b602001915036819003821315611cd157600080fd5b6001600160601b031981358181169160148510156124d85760149490940360031b84901b1690921692915050565b8035602083101561104157600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156124d85760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x32f3d526fd0e341cdd62aa8c2b9ba8683251821db0a9cfd137a766b440effddc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000b0a8c50b57a0ffe1228fdbbaee89946a3b7786c00000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x5542ea6e2f4c9f8839113816dfa2ccafdbe6db93d4cdb874b7d3850ba7cecd04", + "0x32f3d526fd0e341cdd62aa8c2b9ba8683251821db0a9cfd137a766b440effddc" + ], + "returns": {}, + "timestamp": 1698330423, + "chain": 84531, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/84531/run-1698330659.json b/broadcast/DeployKernel.s.sol/84531/run-1698330659.json new file mode 100644 index 00000000..fa7bf821 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/84531/run-1698330659.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698330659, + "chain": 84531, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/84531/run-1698330727.json b/broadcast/DeployKernel.s.sol/84531/run-1698330727.json new file mode 100644 index 00000000..e9320146 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/84531/run-1698330727.json @@ -0,0 +1,76 @@ +{ + "transactions": [ + { + "hash": "0x9d1348d5c02c2f71eb7ac9476b93e858676cb5bace295730e246ec28603ce6e7", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae30000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000277a60fe8b476df00295ed8d89afca39f7f731870000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x9d1348d5c02c2f71eb7ac9476b93e858676cb5bace295730e246ec28603ce6e7" + ], + "returns": {}, + "timestamp": 1698330727, + "chain": 84531, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/84531/run-1698330835.json b/broadcast/DeployKernel.s.sol/84531/run-1698330835.json new file mode 100644 index 00000000..f5b3d4b7 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/84531/run-1698330835.json @@ -0,0 +1,36 @@ +{ + "transactions": [ + { + "hash": "0xe0f48d72cc454e58309d80a4b2246314c8e3a62bb2d84a04baadd714d22a0491", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xe0f48d72cc454e58309d80a4b2246314c8e3a62bb2d84a04baadd714d22a0491" + ], + "returns": {}, + "timestamp": 1698330835, + "chain": 84531, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/84531/run-1698330836.json b/broadcast/DeployKernel.s.sol/84531/run-1698330836.json new file mode 100644 index 00000000..fb1c21cf --- /dev/null +++ b/broadcast/DeployKernel.s.sol/84531/run-1698330836.json @@ -0,0 +1,51 @@ +{ + "transactions": [ + { + "hash": "0xe0f48d72cc454e58309d80a4b2246314c8e3a62bb2d84a04baadd714d22a0491", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x277A60Fe8b476df00295ed8D89aFca39F7f73187", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2f92c4", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b506040516200295838038062002958833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612759620001ff600039600081816101de015281816105e10152818161089301528181610a9301528181610b6401528181610c1801528181610f5201528181610fd60152818161108e0152818161122401526112b201526000611a2001526000611ada01526000611ab401526000611a6401526000611a4101526127596000f3fe6080604052600436106101445760003560e01c806351945447116100b6578063b0d691fe1161006f578063b0d691fe146105cf578063bc197c8114610603578063d087d28814610632578063d1f5789414610647578063d54162211461065a578063f23a6e611461066d57610183565b806351945447146104e757806354fd4d50146104fa57806355b14f501461052b57806357b750471461053e57806384b0196e1461056357806388e7fd061461058b57610183565b8063333daf9211610108578063333daf921461034f57806334fcd5be1461037d5780633659cfe6146103905780633a871cdd146103a35780633e1b0812146103b657806351166ba0146103d657610183565b806306fdde03146102565780630b3dc3541461029e578063150b7a02146102d75780631626ba7e1461031c57806329f8b1741461033c57610183565b3661018357604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101aa60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f0000000000000000000000000000000000000000000000000000000000000000163314801590610212575061021061069a565b155b1561023057604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561024f573d6000f35b3d6000fd5b005b34801561026257600080fd5b506102886040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102959190611b7d565b60405180910390f35b3480156102aa57600080fd5b506000805160206127398339815191525460501c5b6040516001600160a01b039091168152602001610295565b3480156102e357600080fd5b506103036102f2366004611c00565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610295565b34801561032857600080fd5b50610303610337366004611c72565b6107e0565b61025461034a366004611ce9565b610888565b34801561035b57600080fd5b5061036f61036a366004611c72565b610a73565b604051908152602001610295565b61025461038b366004611e87565b610a88565b61025461039e366004611f9a565b610b59565b61036f6103b1366004611fb7565b610c0b565b3480156103c257600080fd5b5061036f6103d136600461200a565b610f2b565b3480156103e257600080fd5b5061049a6103f1366004612033565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610295565b6102546104f536600461204e565b610fcb565b34801561050657600080fd5b5061028860405180604001604052806005815260200164181719171960d91b81525081565b6102546105393660046120bd565b611083565b34801561054a57600080fd5b506000805160206127398339815191525460e01b610303565b34801561056f57600080fd5b506105786111a7565b60405161029597969594939291906120f8565b34801561059757600080fd5b5060008051602061273983398151915254640100000000900465ffffffffffff1660405165ffffffffffff9091168152602001610295565b3480156105db57600080fd5b506102bf7f000000000000000000000000000000000000000000000000000000000000000081565b34801561060f57600080fd5b5061030361061e3660046121d2565b63bc197c8160e01b98975050505050505050565b34801561063e57600080fd5b5061036f611205565b6102546106553660046120bd565b61129c565b610254610668366004612033565b6112a7565b34801561067957600080fd5b50610303610688366004612290565b63f23a6e6160e01b9695505050505050565b60006106a83360003661133d565b156106b35750600190565b600080356001600160e01b031916905060006106da60008051602061271983398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061073e57508054600160301b900465ffffffffffff161580159061073e5750805442600160301b90910465ffffffffffff16105b80610753575080544265ffffffffffff909116115b156107615760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107989033906000903690600401612334565b602060405180830381865afa1580156107b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107d99190612359565b9250505090565b6000806107ee858585610a73565b905060008060006107fe846113ce565b925092509250428365ffffffffffff16111561082957506001600160e01b0319935061088192505050565b428265ffffffffffff16101561084e57506001600160e01b0319935061088192505050565b6001600160a01b0381161561087257506001600160e01b0319935061088192505050565b50630b135d3f60e11b93505050505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906108c15750333014155b156108df57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b031681525061093760008051602061271983398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c959556906109f4908590859060040161237b565b600060405180830381600087803b158015610a0e57600080fd5b505af1158015610a22573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610a80848484611401565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610ac65750610ac461069a565b155b15610ae457604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610b54576000838281518110610b0557610b0561238f565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561024f57600187019650505050505050610ae9565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b925750333014155b15610bb057604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610c5657604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610c7f908285876123a5565b610c88916123cf565b90506001600160e01b03198116600003610cc2578515610cac573434343489335af1505b610cb7888888611489565b945050505050610881565b6000610ccd896123ff565b6000805160206127398339815191525490915060009060e081901b84166001600160e01b03191615610d125760405163fc2f51c560e01b815260040160405180910390fd5b6001600160e01b03198416600160e01b03610dde5760408501358501601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d6560048286886123a5565b610d6e916123cf565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031695509050610da7896004818d6123a5565b8254919b509950600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179a50505050610e42565b6001600160e01b03198416600160e11b03610e325760408501358501601f19810135610e21610e116004600084866123a5565b610e1a916123cf565b8a8a611583565b919c509a5098509350610e42915050565b6001975050505050505050610881565b8815610e5257343434348c335af1505b86868080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f82011690508083019250505050505050836101400181905250610f1c88836001600160a01b0316633a871cdd868e8e6040518463ffffffff1660e01b8152600401610ed49392919061250d565b6020604051808303816000875af1158015610ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f1791906125ff565b6118ea565b9b9a5050505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc591906125ff565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110045750333014155b8015611015575061101361069a565b155b1561103357604051637046c88d60e01b815260040160405180910390fd5b600081600181111561104757611047612618565b14611065576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561024f573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110bc5750333014155b156110da57604051637046c88d60e01b815260040160405180910390fd5b60008051602061273983398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c9595569061116f908690869060040161237b565b600060405180830381600087803b15801561118957600080fd5b505af115801561119d573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111f3604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264181719171960d91b9083015291565b97989097965046955030945091925090565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611273573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061129791906125ff565b905090565b610b54838383611988565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112e05750333014155b156112fe57604051637046c88d60e01b815260040160405180910390fd5b600080516020612739833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b60008051602061273983398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd599061138490889088908890600401612334565b602060405180830381865afa1580156113a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c59190612359565b95945050505050565b600060a082901c65ffffffffffff1682811560001981016113f35765ffffffffffff92505b508360d01c92509193909250565b6000805160206127398339815191525460405163199ed7c960e11b815260009160501c906001600160a01b0382169063333daf92906114489088908890889060040161262e565b602060405180830381865afa158015611465573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113c591906125ff565b60008080611496866123ff565b90506114a6610140870187612648565b6114b49160049082906123a5565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014082015260008051602061273983398151915254604051633a871cdd60e01b815260509190911c92506001600160a01b03831690633a871cdd906115369084908990899060040161250d565b6020604051808303816000875af1158015611555573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061157991906125ff565b9695505050505050565b60008036816115966024601087896123a5565b61159f9161268e565b60601c9350605860006115b5826038898b6123a5565b6115be916126bc565b828101929091508801816115d760208501858b8d6123a5565b6115e0916126bc565b60001c925060208401935060006116ca7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d600490602492611629939291906123a5565b611632916126bc565b60001c8e8e602490603892611649939291906123a5565b6116529161268e565b60601c87876040516116659291906126da565b6040519081900381206116af95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611a1c565b90506117186116ec828d8d8990898b01926116e7939291906123a5565b611401565b8c8c600490602492611700939291906123a5565b611709916126bc565b6001600160a01b0319166118ea565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a92611748939291906123a5565b611751916126ea565b60d01c65ffffffffffff1681526020018c8c600a90601092611775939291906123a5565b61177e916126ea565b60d01c65ffffffffffff1681526020018c8c6024906038926117a2939291906123a5565b6117ab9161268e565b60601c6001600160a01b031681526020018c8c6010906024926117d0939291906123a5565b6117d99161268e565b60601c90526000805160206127198339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c959556906118aa908690869060040161237b565b600060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b50505050505050505093509350935093565b60006001600160a01b0382841816156001811461190a5760019150611981565b65ffffffffffff60a01b198381169085168181188183110218925065ffffffffffff60a01b851690816119445765ffffffffffff60a01b91505b5065ffffffffffff60a01b841680611962575065ffffffffffff60a01b5b80821890821102188061197b575065ffffffffffff60a01b5b91909117905b5092915050565b6000805160206127398339815191525460501c6001600160a01b038116156119c25760405162dc149f60e41b815260040160405180910390fd5b6000805160206127398339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c9595569061116f908690869060040161237b565b60007f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611b115750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5282603a52604260182091506000603a5250919050565b6000815180845260005b81811015611b5d57602081850181015186830182015201611b41565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006108816020830184611b37565b6001600160a01b0381168114611ba557600080fd5b50565b8035611bb381611b90565b919050565b60008083601f840112611bca57600080fd5b5081356001600160401b03811115611be157600080fd5b602083019150836020828501011115611bf957600080fd5b9250929050565b600080600080600060808688031215611c1857600080fd5b8535611c2381611b90565b94506020860135611c3381611b90565b93506040860135925060608601356001600160401b03811115611c5557600080fd5b611c6188828901611bb8565b969995985093965092949392505050565b600080600060408486031215611c8757600080fd5b8335925060208401356001600160401b03811115611ca457600080fd5b611cb086828701611bb8565b9497909650939450505050565b80356001600160e01b031981168114611bb357600080fd5b65ffffffffffff81168114611ba557600080fd5b600080600080600080600060c0888a031215611d0457600080fd5b611d0d88611cbd565b96506020880135611d1d81611b90565b95506040880135611d2d81611b90565b94506060880135611d3d81611cd5565b93506080880135611d4d81611cd5565b925060a08801356001600160401b03811115611d6857600080fd5b611d748a828b01611bb8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b0381118282101715611dbf57611dbf611d87565b60405290565b60405161016081016001600160401b0381118282101715611dbf57611dbf611d87565b604051601f8201601f191681016001600160401b0381118282101715611e1057611e10611d87565b604052919050565b600082601f830112611e2957600080fd5b81356001600160401b03811115611e4257611e42611d87565b611e55601f8201601f1916602001611de8565b818152846020838601011115611e6a57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020808385031215611e9a57600080fd5b82356001600160401b0380821115611eb157600080fd5b818501915085601f830112611ec557600080fd5b813581811115611ed757611ed7611d87565b8060051b611ee6858201611de8565b9182528381018501918581019089841115611f0057600080fd5b86860192505b83831015611f8d57823585811115611f1e5760008081fd5b86016060818c03601f1901811315611f365760008081fd5b611f3e611d9d565b89830135611f4b81611b90565b81526040838101358b830152918301359188831115611f6a5760008081fd5b611f788e8c85870101611e18565b90820152845250509186019190860190611f06565b9998505050505050505050565b600060208284031215611fac57600080fd5b813561088181611b90565b600080600060608486031215611fcc57600080fd5b83356001600160401b03811115611fe257600080fd5b84016101608187031215611ff557600080fd5b95602085013595506040909401359392505050565b60006020828403121561201c57600080fd5b81356001600160c01b038116811461088157600080fd5b60006020828403121561204557600080fd5b61088182611cbd565b6000806000806080858703121561206457600080fd5b843561206f81611b90565b93506020850135925060408501356001600160401b0381111561209157600080fd5b61209d87828801611e18565b9250506060850135600281106120b257600080fd5b939692955090935050565b6000806000604084860312156120d257600080fd5b83356120dd81611b90565b925060208401356001600160401b03811115611ca457600080fd5b60ff60f81b881681526000602060e08184015261211860e084018a611b37565b838103604085015261212a818a611b37565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561217c57835183529284019291840191600101612160565b50909c9b505050505050505050505050565b60008083601f8401126121a057600080fd5b5081356001600160401b038111156121b757600080fd5b6020830191508360208260051b8501011115611bf957600080fd5b60008060008060008060008060a0898b0312156121ee57600080fd5b88356121f981611b90565b9750602089013561220981611b90565b965060408901356001600160401b038082111561222557600080fd5b6122318c838d0161218e565b909850965060608b013591508082111561224a57600080fd5b6122568c838d0161218e565b909650945060808b013591508082111561226f57600080fd5b5061227c8b828c01611bb8565b999c989b5096995094979396929594505050565b60008060008060008060a087890312156122a957600080fd5b86356122b481611b90565b955060208701356122c481611b90565b9450604087013593506060870135925060808701356001600160401b038111156122ed57600080fd5b6122f989828a01611bb8565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b03841681526040602082018190526000906113c5908301848661230b565b60006020828403121561236b57600080fd5b8151801515811461088157600080fd5b602081526000610a8060208301848661230b565b634e487b7160e01b600052603260045260246000fd5b600080858511156123b557600080fd5b838611156123c257600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156123f75780818660040360031b1b83161692505b505092915050565b6000610160823603121561241257600080fd5b61241a611dc5565b61242383611ba8565b81526020830135602082015260408301356001600160401b038082111561244957600080fd5b61245536838701611e18565b6040840152606085013591508082111561246e57600080fd5b61247a36838701611e18565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156124ca57600080fd5b6124d636828801611e18565b8385015250610140915081850135818111156124f157600080fd5b6124fd36828801611e18565b8385015250505080915050919050565b606081526125276060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a085015261254f6101c0850183611b37565b91506060870151605f19808685030160c087015261256d8483611b37565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526125c98787611b37565b9650808c0151955050505080868503016101a087015250506125eb8282611b37565b602085019690965250505060400152919050565b60006020828403121561261157600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006113c560408301848661230b565b6000808335601e1984360301811261265f57600080fd5b8301803591506001600160401b0382111561267957600080fd5b602001915036819003821315611bf957600080fd5b6001600160601b031981358181169160148510156123f75760149490940360031b84901b1690921692915050565b80356020831015610fc557600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156123f75760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe0f48d72cc454e58309d80a4b2246314c8e3a62bb2d84a04baadd714d22a0491", + "transactionIndex": "0x1", + "blockHash": "0x404f4fb5b95d4186110d2503e6754c55c3e2d31622892b9a369e30b16b400b2c", + "blockNumber": "0xb085e2", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x23282e", + "gasUsed": "0x227135", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698330836, + "chain": 84531, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/84531/run-1698335756.json b/broadcast/DeployKernel.s.sol/84531/run-1698335756.json new file mode 100644 index 00000000..380501ff --- /dev/null +++ b/broadcast/DeployKernel.s.sol/84531/run-1698335756.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0x4f6062d115e71b0f972a06f176db00f4e970d116cd95b7cec7d70c9a428a15ad", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x785e8018cd8b21b123adcd8308fb611599eac7f0e00b5e45a8c8cf2bdcaede27", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xee8a4ee6c85403d331125dd516dfdb06a71a0fc7127c562b3623827f348ad221", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3d9b16f9d0f634cd74202d12453470fa1d616a8d8206ee1e37ea30ac84e6c1a9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x4f6062d115e71b0f972a06f176db00f4e970d116cd95b7cec7d70c9a428a15ad", + "0x785e8018cd8b21b123adcd8308fb611599eac7f0e00b5e45a8c8cf2bdcaede27", + "0xee8a4ee6c85403d331125dd516dfdb06a71a0fc7127c562b3623827f348ad221", + "0x3d9b16f9d0f634cd74202d12453470fa1d616a8d8206ee1e37ea30ac84e6c1a9" + ], + "returns": {}, + "timestamp": 1698335756, + "chain": 84531, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/84531/run-1698335763.json b/broadcast/DeployKernel.s.sol/84531/run-1698335763.json new file mode 100644 index 00000000..1363b813 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/84531/run-1698335763.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x4f6062d115e71b0f972a06f176db00f4e970d116cd95b7cec7d70c9a428a15ad", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x785e8018cd8b21b123adcd8308fb611599eac7f0e00b5e45a8c8cf2bdcaede27", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xee8a4ee6c85403d331125dd516dfdb06a71a0fc7127c562b3623827f348ad221", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3d9b16f9d0f634cd74202d12453470fa1d616a8d8206ee1e37ea30ac84e6c1a9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x4f6062d115e71b0f972a06f176db00f4e970d116cd95b7cec7d70c9a428a15ad", + "transactionIndex": "0x1", + "blockHash": "0x7e4071015c128518f1fdb8153d70bd7d533a9ef46f82c3f41be453ebc1ab58ec", + "blockNumber": "0xb08f7f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1df0f9", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + }, + { + "transactionHash": "0x785e8018cd8b21b123adcd8308fb611599eac7f0e00b5e45a8c8cf2bdcaede27", + "transactionIndex": "0x2", + "blockHash": "0x7e4071015c128518f1fdb8153d70bd7d533a9ef46f82c3f41be453ebc1ab58ec", + "blockNumber": "0xb08f7f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1ea65b", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + }, + { + "transactionHash": "0xee8a4ee6c85403d331125dd516dfdb06a71a0fc7127c562b3623827f348ad221", + "transactionIndex": "0x3", + "blockHash": "0x7e4071015c128518f1fdb8153d70bd7d533a9ef46f82c3f41be453ebc1ab58ec", + "blockNumber": "0xb08f7f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3ad87c", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + }, + { + "transactionHash": "0x3d9b16f9d0f634cd74202d12453470fa1d616a8d8206ee1e37ea30ac84e6c1a9", + "transactionIndex": "0x4", + "blockHash": "0x7e4071015c128518f1fdb8153d70bd7d533a9ef46f82c3f41be453ebc1ab58ec", + "blockNumber": "0xb08f7f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3b8dde", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698335763, + "chain": 84531, + "multi": false, + "commit": "bba4b35" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700063969.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700063969.json new file mode 100644 index 00000000..9b1443df --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700063969.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063969, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065064.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065064.json new file mode 100644 index 00000000..bbb3871c --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065064.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065064, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065169.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065169.json new file mode 100644 index 00000000..d4156c3c --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065169.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065169, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065197.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065197.json new file mode 100644 index 00000000..d0a1aec0 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065197.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065197, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065236.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065236.json new file mode 100644 index 00000000..23af770a --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065236.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065236, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065323.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065323.json new file mode 100644 index 00000000..8ebdf6b4 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065323.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065323, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065477.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065477.json new file mode 100644 index 00000000..d17fc45c --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065477.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065477, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065516.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065516.json new file mode 100644 index 00000000..d10bbc60 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065516.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065516, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065552.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065552.json new file mode 100644 index 00000000..1b6dd775 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065552.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065552, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065623.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065623.json new file mode 100644 index 00000000..6bb3b2d8 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065623.json @@ -0,0 +1,99 @@ +{ + "transactions": [ + { + "hash": "0x8ad5b64c4c393bef0bde7a533602ccdf239114506f5cedc28f58b3680ba62283", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x8ad5b64c4c393bef0bde7a533602ccdf239114506f5cedc28f58b3680ba62283" + ], + "returns": {}, + "timestamp": 1700065623, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065645.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065645.json new file mode 100644 index 00000000..27005423 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065645.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065645, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700065756.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700065756.json new file mode 100644 index 00000000..76df5272 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700065756.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065756, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700066026.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700066026.json new file mode 100644 index 00000000..0a6d6a8b --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700066026.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066026, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700066147.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700066147.json new file mode 100644 index 00000000..85b2da5e --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700066147.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066147, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700066555.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700066555.json new file mode 100644 index 00000000..94ba7b39 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700066555.json @@ -0,0 +1,60 @@ +{ + "transactions": [ + { + "hash": "0x7a809181a1956075da1f2a7474a3cfffd3469b8ab9b338185e8d0de42da7a945", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x23", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7c238ab49b61ac50acab3521440ca7c72fe76231fbb73400c081a5e6a58376bd", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x7a809181a1956075da1f2a7474a3cfffd3469b8ab9b338185e8d0de42da7a945", + "0x7c238ab49b61ac50acab3521440ca7c72fe76231fbb73400c081a5e6a58376bd" + ], + "returns": {}, + "timestamp": 1700066555, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700066580.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700066580.json new file mode 100644 index 00000000..bb0ae578 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700066580.json @@ -0,0 +1,74 @@ +{ + "transactions": [ + { + "hash": "0x7a809181a1956075da1f2a7474a3cfffd3469b8ab9b338185e8d0de42da7a945", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x23", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7c238ab49b61ac50acab3521440ca7c72fe76231fbb73400c081a5e6a58376bd", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7a809181a1956075da1f2a7474a3cfffd3469b8ab9b338185e8d0de42da7a945", + "transactionIndex": "0x24", + "blockHash": "0x75102c420fbbbb4cfd78458da7d40bde493eaf42d1bfdf99d9e8fda5f9b6e108", + "blockNumber": "0x11b7c74", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5c5040", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x9502f9000" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066580, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700066641.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700066641.json new file mode 100644 index 00000000..09950d78 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700066641.json @@ -0,0 +1,74 @@ +{ + "transactions": [ + { + "hash": "0x7a809181a1956075da1f2a7474a3cfffd3469b8ab9b338185e8d0de42da7a945", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x23", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7c238ab49b61ac50acab3521440ca7c72fe76231fbb73400c081a5e6a58376bd", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7a809181a1956075da1f2a7474a3cfffd3469b8ab9b338185e8d0de42da7a945", + "transactionIndex": "0x24", + "blockHash": "0x75102c420fbbbb4cfd78458da7d40bde493eaf42d1bfdf99d9e8fda5f9b6e108", + "blockNumber": "0x11b7c74", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5c5040", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x9502f9000" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066641, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700066687.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700066687.json new file mode 100644 index 00000000..589ffb27 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700066687.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066687, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700066767.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700066767.json new file mode 100644 index 00000000..02a78c31 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700066767.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066767, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-1700069415.json b/broadcast/DeployKernelInitial.s.sol/1/run-1700069415.json new file mode 100644 index 00000000..8f3ab035 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-1700069415.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069415, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/1/run-latest.json b/broadcast/DeployKernelInitial.s.sol/1/run-latest.json new file mode 100644 index 00000000..8f3ab035 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/1/run-latest.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x25", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069415, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/10/run-1700064014.json b/broadcast/DeployKernelInitial.s.sol/10/run-1700064014.json new file mode 100644 index 00000000..a0c8c007 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/10/run-1700064014.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0x2e2b548d91eb9db7514fd04f638a3bf833eaf25fe60dd76e8b2c9a66adc94c4c", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcbabc20d60b4805e5d47bdae71f1a47da3659d869a730f2a5a1a2f3bbc25a1ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x30a5fe257d7802488e5e97656bc6f9f49fb930fe026534707fd1af6dd4193f53", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x25a690f445d9ca75b4aad8c11c6b78423d42ca51cb8cf0cfce0f3f965a657c78", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x2e2b548d91eb9db7514fd04f638a3bf833eaf25fe60dd76e8b2c9a66adc94c4c", + "0xcbabc20d60b4805e5d47bdae71f1a47da3659d869a730f2a5a1a2f3bbc25a1ba", + "0x30a5fe257d7802488e5e97656bc6f9f49fb930fe026534707fd1af6dd4193f53", + "0x25a690f445d9ca75b4aad8c11c6b78423d42ca51cb8cf0cfce0f3f965a657c78" + ], + "returns": {}, + "timestamp": 1700064014, + "chain": 10, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/10/run-1700064021.json b/broadcast/DeployKernelInitial.s.sol/10/run-1700064021.json new file mode 100644 index 00000000..91d845ae --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/10/run-1700064021.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x2e2b548d91eb9db7514fd04f638a3bf833eaf25fe60dd76e8b2c9a66adc94c4c", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcbabc20d60b4805e5d47bdae71f1a47da3659d869a730f2a5a1a2f3bbc25a1ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x30a5fe257d7802488e5e97656bc6f9f49fb930fe026534707fd1af6dd4193f53", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x25a690f445d9ca75b4aad8c11c6b78423d42ca51cb8cf0cfce0f3f965a657c78", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x2e2b548d91eb9db7514fd04f638a3bf833eaf25fe60dd76e8b2c9a66adc94c4c", + "transactionIndex": "0x1", + "blockHash": "0x15466deec025e3313d9d1c77f891ead901b987e94f775248f43fc2b6e7705d1c", + "blockNumber": "0x6b088ac", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f5203", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb347b7a0" + }, + { + "transactionHash": "0xcbabc20d60b4805e5d47bdae71f1a47da3659d869a730f2a5a1a2f3bbc25a1ba", + "transactionIndex": "0x2", + "blockHash": "0x15466deec025e3313d9d1c77f891ead901b987e94f775248f43fc2b6e7705d1c", + "blockNumber": "0x6b088ac", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x200765", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb347b7a0" + }, + { + "transactionHash": "0x30a5fe257d7802488e5e97656bc6f9f49fb930fe026534707fd1af6dd4193f53", + "transactionIndex": "0x3", + "blockHash": "0x15466deec025e3313d9d1c77f891ead901b987e94f775248f43fc2b6e7705d1c", + "blockNumber": "0x6b088ac", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3d9a2f", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb347b7a0" + }, + { + "transactionHash": "0x25a690f445d9ca75b4aad8c11c6b78423d42ca51cb8cf0cfce0f3f965a657c78", + "transactionIndex": "0x4", + "blockHash": "0x15466deec025e3313d9d1c77f891ead901b987e94f775248f43fc2b6e7705d1c", + "blockNumber": "0x6b088ac", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3e4f91", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb347b7a0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064021, + "chain": 10, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/10/run-latest.json b/broadcast/DeployKernelInitial.s.sol/10/run-latest.json new file mode 100644 index 00000000..91d845ae --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/10/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x2e2b548d91eb9db7514fd04f638a3bf833eaf25fe60dd76e8b2c9a66adc94c4c", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xcbabc20d60b4805e5d47bdae71f1a47da3659d869a730f2a5a1a2f3bbc25a1ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x30a5fe257d7802488e5e97656bc6f9f49fb930fe026534707fd1af6dd4193f53", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x25a690f445d9ca75b4aad8c11c6b78423d42ca51cb8cf0cfce0f3f965a657c78", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x2e2b548d91eb9db7514fd04f638a3bf833eaf25fe60dd76e8b2c9a66adc94c4c", + "transactionIndex": "0x1", + "blockHash": "0x15466deec025e3313d9d1c77f891ead901b987e94f775248f43fc2b6e7705d1c", + "blockNumber": "0x6b088ac", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f5203", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb347b7a0" + }, + { + "transactionHash": "0xcbabc20d60b4805e5d47bdae71f1a47da3659d869a730f2a5a1a2f3bbc25a1ba", + "transactionIndex": "0x2", + "blockHash": "0x15466deec025e3313d9d1c77f891ead901b987e94f775248f43fc2b6e7705d1c", + "blockNumber": "0x6b088ac", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x200765", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb347b7a0" + }, + { + "transactionHash": "0x30a5fe257d7802488e5e97656bc6f9f49fb930fe026534707fd1af6dd4193f53", + "transactionIndex": "0x3", + "blockHash": "0x15466deec025e3313d9d1c77f891ead901b987e94f775248f43fc2b6e7705d1c", + "blockNumber": "0x6b088ac", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3d9a2f", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb347b7a0" + }, + { + "transactionHash": "0x25a690f445d9ca75b4aad8c11c6b78423d42ca51cb8cf0cfce0f3f965a657c78", + "transactionIndex": "0x4", + "blockHash": "0x15466deec025e3313d9d1c77f891ead901b987e94f775248f43fc2b6e7705d1c", + "blockNumber": "0x6b088ac", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3e4f91", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb347b7a0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064021, + "chain": 10, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/100/run-1700068916.json b/broadcast/DeployKernelInitial.s.sol/100/run-1700068916.json new file mode 100644 index 00000000..dddb64fd --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/100/run-1700068916.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xc19b15c5ce0d45a5206efb188b7e1d6ef34286aa3620bc5fd818cdfeecf0242f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb05773c5ec69b741759c35daa8f25aa559d306bf000bf710f0bf8640d647d44b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x541e97e75913ce135b83ea2aaf263a83969383f5e44209a530bf6add6196c342", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xecd6d822804c5c53493ae9d5c61795d07d78697c736f0707f36574872caf675f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xc19b15c5ce0d45a5206efb188b7e1d6ef34286aa3620bc5fd818cdfeecf0242f", + "0xb05773c5ec69b741759c35daa8f25aa559d306bf000bf710f0bf8640d647d44b", + "0x541e97e75913ce135b83ea2aaf263a83969383f5e44209a530bf6add6196c342", + "0xecd6d822804c5c53493ae9d5c61795d07d78697c736f0707f36574872caf675f" + ], + "returns": {}, + "timestamp": 1700068916, + "chain": 100, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/100/run-1700068936.json b/broadcast/DeployKernelInitial.s.sol/100/run-1700068936.json new file mode 100644 index 00000000..31e8ac69 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/100/run-1700068936.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xc19b15c5ce0d45a5206efb188b7e1d6ef34286aa3620bc5fd818cdfeecf0242f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb05773c5ec69b741759c35daa8f25aa559d306bf000bf710f0bf8640d647d44b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x541e97e75913ce135b83ea2aaf263a83969383f5e44209a530bf6add6196c342", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xecd6d822804c5c53493ae9d5c61795d07d78697c736f0707f36574872caf675f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc19b15c5ce0d45a5206efb188b7e1d6ef34286aa3620bc5fd818cdfeecf0242f", + "transactionIndex": "0x2", + "blockHash": "0xf0f4d02790733000cdd2c55e6ec1431dbb32bcd8aeaa11d106e164b467b3045a", + "blockNumber": "0x1d882e4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa0450c", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x3da364b52" + }, + { + "transactionHash": "0xb05773c5ec69b741759c35daa8f25aa559d306bf000bf710f0bf8640d647d44b", + "transactionIndex": "0x3", + "blockHash": "0xf0f4d02790733000cdd2c55e6ec1431dbb32bcd8aeaa11d106e164b467b3045a", + "blockNumber": "0x1d882e4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa0fa6e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x3da364b52" + }, + { + "transactionHash": "0x541e97e75913ce135b83ea2aaf263a83969383f5e44209a530bf6add6196c342", + "transactionIndex": "0x4", + "blockHash": "0xf0f4d02790733000cdd2c55e6ec1431dbb32bcd8aeaa11d106e164b467b3045a", + "blockNumber": "0x1d882e4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xbe8f74", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x3da364b52" + }, + { + "transactionHash": "0xecd6d822804c5c53493ae9d5c61795d07d78697c736f0707f36574872caf675f", + "transactionIndex": "0x5", + "blockHash": "0xf0f4d02790733000cdd2c55e6ec1431dbb32bcd8aeaa11d106e164b467b3045a", + "blockNumber": "0x1d882e4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xbf44d6", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x3da364b52" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068936, + "chain": 100, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/100/run-latest.json b/broadcast/DeployKernelInitial.s.sol/100/run-latest.json new file mode 100644 index 00000000..31e8ac69 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/100/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xc19b15c5ce0d45a5206efb188b7e1d6ef34286aa3620bc5fd818cdfeecf0242f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb05773c5ec69b741759c35daa8f25aa559d306bf000bf710f0bf8640d647d44b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x541e97e75913ce135b83ea2aaf263a83969383f5e44209a530bf6add6196c342", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xecd6d822804c5c53493ae9d5c61795d07d78697c736f0707f36574872caf675f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc19b15c5ce0d45a5206efb188b7e1d6ef34286aa3620bc5fd818cdfeecf0242f", + "transactionIndex": "0x2", + "blockHash": "0xf0f4d02790733000cdd2c55e6ec1431dbb32bcd8aeaa11d106e164b467b3045a", + "blockNumber": "0x1d882e4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa0450c", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x3da364b52" + }, + { + "transactionHash": "0xb05773c5ec69b741759c35daa8f25aa559d306bf000bf710f0bf8640d647d44b", + "transactionIndex": "0x3", + "blockHash": "0xf0f4d02790733000cdd2c55e6ec1431dbb32bcd8aeaa11d106e164b467b3045a", + "blockNumber": "0x1d882e4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa0fa6e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x3da364b52" + }, + { + "transactionHash": "0x541e97e75913ce135b83ea2aaf263a83969383f5e44209a530bf6add6196c342", + "transactionIndex": "0x4", + "blockHash": "0xf0f4d02790733000cdd2c55e6ec1431dbb32bcd8aeaa11d106e164b467b3045a", + "blockNumber": "0x1d882e4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xbe8f74", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x3da364b52" + }, + { + "transactionHash": "0xecd6d822804c5c53493ae9d5c61795d07d78697c736f0707f36574872caf675f", + "transactionIndex": "0x5", + "blockHash": "0xf0f4d02790733000cdd2c55e6ec1431dbb32bcd8aeaa11d106e164b467b3045a", + "blockNumber": "0x1d882e4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xbf44d6", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x3da364b52" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068936, + "chain": 100, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/10200/run-1700068686.json b/broadcast/DeployKernelInitial.s.sol/10200/run-1700068686.json new file mode 100644 index 00000000..d399021d --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/10200/run-1700068686.json @@ -0,0 +1,57 @@ +{ + "transactions": [ + { + "hash": "0x084aff87ab61b5fef329d959484529921f29567271037a4e153fa4fb6365add5", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc8d187b56303109c822a0f76e3cbc1daaa45f8df42e7614b1ff56e79276c9f29", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x084aff87ab61b5fef329d959484529921f29567271037a4e153fa4fb6365add5", + "0xc8d187b56303109c822a0f76e3cbc1daaa45f8df42e7614b1ff56e79276c9f29" + ], + "returns": {}, + "timestamp": 1700068686, + "chain": 10200, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/10200/run-1700068694.json b/broadcast/DeployKernelInitial.s.sol/10200/run-1700068694.json new file mode 100644 index 00000000..b2a8f1a5 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/10200/run-1700068694.json @@ -0,0 +1,87 @@ +{ + "transactions": [ + { + "hash": "0x084aff87ab61b5fef329d959484529921f29567271037a4e153fa4fb6365add5", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc8d187b56303109c822a0f76e3cbc1daaa45f8df42e7614b1ff56e79276c9f29", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x084aff87ab61b5fef329d959484529921f29567271037a4e153fa4fb6365add5", + "transactionIndex": "0x0", + "blockHash": "0xbf82845865dc62697d2628e193c138cd288acd40d50b33bc872640190cd28fc8", + "blockNumber": "0x6aad27", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d9506", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0xc8d187b56303109c822a0f76e3cbc1daaa45f8df42e7614b1ff56e79276c9f29", + "transactionIndex": "0x1", + "blockHash": "0xbf82845865dc62697d2628e193c138cd288acd40d50b33bc872640190cd28fc8", + "blockNumber": "0x6aad27", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1e4a68", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068694, + "chain": 10200, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/10200/run-latest.json b/broadcast/DeployKernelInitial.s.sol/10200/run-latest.json new file mode 100644 index 00000000..b2a8f1a5 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/10200/run-latest.json @@ -0,0 +1,87 @@ +{ + "transactions": [ + { + "hash": "0x084aff87ab61b5fef329d959484529921f29567271037a4e153fa4fb6365add5", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc8d187b56303109c822a0f76e3cbc1daaa45f8df42e7614b1ff56e79276c9f29", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x084aff87ab61b5fef329d959484529921f29567271037a4e153fa4fb6365add5", + "transactionIndex": "0x0", + "blockHash": "0xbf82845865dc62697d2628e193c138cd288acd40d50b33bc872640190cd28fc8", + "blockNumber": "0x6aad27", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d9506", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0xc8d187b56303109c822a0f76e3cbc1daaa45f8df42e7614b1ff56e79276c9f29", + "transactionIndex": "0x1", + "blockHash": "0xbf82845865dc62697d2628e193c138cd288acd40d50b33bc872640190cd28fc8", + "blockNumber": "0x6aad27", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1e4a68", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068694, + "chain": 10200, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/11155111/run-1700063857.json b/broadcast/DeployKernelInitial.s.sol/11155111/run-1700063857.json new file mode 100644 index 00000000..14f4af34 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/11155111/run-1700063857.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xe8b6d4e1f074faa4ac73cda519155538d15a10fc212088a0bba44beee95aa6de", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe4bfc2a3c1817de8e1887c0c3e2613d0b68102c1fedfad00b5f74801be7432ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3a1f96d2375a247e40599f5d515aee5c6c4d5af497b7b0a3eeffda0e68ffb26d", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x307b75c2759f50d69cc17de6448086addf2b43ab976b23773a7648afab78c1ac", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xe8b6d4e1f074faa4ac73cda519155538d15a10fc212088a0bba44beee95aa6de", + "0xe4bfc2a3c1817de8e1887c0c3e2613d0b68102c1fedfad00b5f74801be7432ba", + "0x3a1f96d2375a247e40599f5d515aee5c6c4d5af497b7b0a3eeffda0e68ffb26d", + "0x307b75c2759f50d69cc17de6448086addf2b43ab976b23773a7648afab78c1ac" + ], + "returns": {}, + "timestamp": 1700063857, + "chain": 11155111, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/11155111/run-1700063870.json b/broadcast/DeployKernelInitial.s.sol/11155111/run-1700063870.json new file mode 100644 index 00000000..1ebc7168 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/11155111/run-1700063870.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xe8b6d4e1f074faa4ac73cda519155538d15a10fc212088a0bba44beee95aa6de", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe4bfc2a3c1817de8e1887c0c3e2613d0b68102c1fedfad00b5f74801be7432ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3a1f96d2375a247e40599f5d515aee5c6c4d5af497b7b0a3eeffda0e68ffb26d", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x307b75c2759f50d69cc17de6448086addf2b43ab976b23773a7648afab78c1ac", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe8b6d4e1f074faa4ac73cda519155538d15a10fc212088a0bba44beee95aa6de", + "transactionIndex": "0x3", + "blockHash": "0xaf6b2177dee6e53ceeec3516d1c9f96e8b300ce6108c2f0895e064704e12f9bf", + "blockNumber": "0x47b66d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x21897b", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05fc4" + }, + { + "transactionHash": "0xe4bfc2a3c1817de8e1887c0c3e2613d0b68102c1fedfad00b5f74801be7432ba", + "transactionIndex": "0x4", + "blockHash": "0xaf6b2177dee6e53ceeec3516d1c9f96e8b300ce6108c2f0895e064704e12f9bf", + "blockNumber": "0x47b66d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x223edd", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05fc4" + }, + { + "transactionHash": "0x3a1f96d2375a247e40599f5d515aee5c6c4d5af497b7b0a3eeffda0e68ffb26d", + "transactionIndex": "0x5", + "blockHash": "0xaf6b2177dee6e53ceeec3516d1c9f96e8b300ce6108c2f0895e064704e12f9bf", + "blockNumber": "0x47b66d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3fd3e3", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05fc4" + }, + { + "transactionHash": "0x307b75c2759f50d69cc17de6448086addf2b43ab976b23773a7648afab78c1ac", + "transactionIndex": "0x6", + "blockHash": "0xaf6b2177dee6e53ceeec3516d1c9f96e8b300ce6108c2f0895e064704e12f9bf", + "blockNumber": "0x47b66d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x408945", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05fc4" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063870, + "chain": 11155111, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/11155111/run-latest.json b/broadcast/DeployKernelInitial.s.sol/11155111/run-latest.json new file mode 100644 index 00000000..1ebc7168 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/11155111/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xe8b6d4e1f074faa4ac73cda519155538d15a10fc212088a0bba44beee95aa6de", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe4bfc2a3c1817de8e1887c0c3e2613d0b68102c1fedfad00b5f74801be7432ba", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3a1f96d2375a247e40599f5d515aee5c6c4d5af497b7b0a3eeffda0e68ffb26d", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x307b75c2759f50d69cc17de6448086addf2b43ab976b23773a7648afab78c1ac", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe8b6d4e1f074faa4ac73cda519155538d15a10fc212088a0bba44beee95aa6de", + "transactionIndex": "0x3", + "blockHash": "0xaf6b2177dee6e53ceeec3516d1c9f96e8b300ce6108c2f0895e064704e12f9bf", + "blockNumber": "0x47b66d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x21897b", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05fc4" + }, + { + "transactionHash": "0xe4bfc2a3c1817de8e1887c0c3e2613d0b68102c1fedfad00b5f74801be7432ba", + "transactionIndex": "0x4", + "blockHash": "0xaf6b2177dee6e53ceeec3516d1c9f96e8b300ce6108c2f0895e064704e12f9bf", + "blockNumber": "0x47b66d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x223edd", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05fc4" + }, + { + "transactionHash": "0x3a1f96d2375a247e40599f5d515aee5c6c4d5af497b7b0a3eeffda0e68ffb26d", + "transactionIndex": "0x5", + "blockHash": "0xaf6b2177dee6e53ceeec3516d1c9f96e8b300ce6108c2f0895e064704e12f9bf", + "blockNumber": "0x47b66d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3fd3e3", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05fc4" + }, + { + "transactionHash": "0x307b75c2759f50d69cc17de6448086addf2b43ab976b23773a7648afab78c1ac", + "transactionIndex": "0x6", + "blockHash": "0xaf6b2177dee6e53ceeec3516d1c9f96e8b300ce6108c2f0895e064704e12f9bf", + "blockNumber": "0x47b66d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x408945", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05fc4" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063870, + "chain": 11155111, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/137/run-1700064159.json b/broadcast/DeployKernelInitial.s.sol/137/run-1700064159.json new file mode 100644 index 00000000..c5af0ee5 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/137/run-1700064159.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xd080367fd669f511c2155ec2ca91fc8f49ef2ff65f2df5fd9da64db7b10c72e3", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x26", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbb5ef8f5793e700b70835d2bb5fefb8b26b4d8ffe4bb7cb84706a5d29d3f3faa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x27", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3ccfaceb64e9d09fae388a084f7b92543d1c5b6f92afd2e569dd39252de6cfe4", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x28", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x09889fe91b32b6916e2989287440433d58247f6d9cc651f7cdcbe18ff56d577b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x29", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd080367fd669f511c2155ec2ca91fc8f49ef2ff65f2df5fd9da64db7b10c72e3", + "0xbb5ef8f5793e700b70835d2bb5fefb8b26b4d8ffe4bb7cb84706a5d29d3f3faa", + "0x3ccfaceb64e9d09fae388a084f7b92543d1c5b6f92afd2e569dd39252de6cfe4", + "0x09889fe91b32b6916e2989287440433d58247f6d9cc651f7cdcbe18ff56d577b" + ], + "returns": {}, + "timestamp": 1700064159, + "chain": 137, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/137/run-1700064172.json b/broadcast/DeployKernelInitial.s.sol/137/run-1700064172.json new file mode 100644 index 00000000..0dd1a9b5 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/137/run-1700064172.json @@ -0,0 +1,230 @@ +{ + "transactions": [ + { + "hash": "0xd080367fd669f511c2155ec2ca91fc8f49ef2ff65f2df5fd9da64db7b10c72e3", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x26", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbb5ef8f5793e700b70835d2bb5fefb8b26b4d8ffe4bb7cb84706a5d29d3f3faa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x27", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3ccfaceb64e9d09fae388a084f7b92543d1c5b6f92afd2e569dd39252de6cfe4", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x28", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x09889fe91b32b6916e2989287440433d58247f6d9cc651f7cdcbe18ff56d577b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x29", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd080367fd669f511c2155ec2ca91fc8f49ef2ff65f2df5fd9da64db7b10c72e3", + "transactionIndex": "0x184", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1621b6b", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000b9ede6f94d192073d8eaf85f8db677133d483249" + ], + "data": "0x000000000000000000000000000000000000000000000000005a84ea691d1b8e000000000000000000000000000000000000000000000017641823c2322e8194000000000000000000000000000000000000000000000cfc078c3bb780d2f70400000000000000000000000000000000000000000000001763bd9ed7c9116606000000000000000000000000000000000000000000000cfc07e6c0a1e9f01292", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "transactionHash": "0xd080367fd669f511c2155ec2ca91fc8f49ef2ff65f2df5fd9da64db7b10c72e3", + "transactionIndex": "0x184", + "logIndex": "0x2ae", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000100000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000100000000000000000000000000000200000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6d6707d663" + }, + { + "transactionHash": "0xbb5ef8f5793e700b70835d2bb5fefb8b26b4d8ffe4bb7cb84706a5d29d3f3faa", + "transactionIndex": "0x185", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x162d0cd", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000b9ede6f94d192073d8eaf85f8db677133d483249" + ], + "data": "0x0000000000000000000000000000000000000000000000000002187a2721a9ee0000000000000000000000000000000000000000000000175703edf447ac7c8e000000000000000000000000000000000000000000000cfc07e6c0a1e9f012920000000000000000000000000000000000000000000000175701d57a208ad2a0000000000000000000000000000000000000000000000cfc07e8d91c1111bc80", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "transactionHash": "0xbb5ef8f5793e700b70835d2bb5fefb8b26b4d8ffe4bb7cb84706a5d29d3f3faa", + "transactionIndex": "0x185", + "logIndex": "0x2af", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000100000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000100000000000000000000000000000200000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6d6707d663" + }, + { + "transactionHash": "0x3ccfaceb64e9d09fae388a084f7b92543d1c5b6f92afd2e569dd39252de6cfe4", + "transactionIndex": "0x186", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1806397", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000b9ede6f94d192073d8eaf85f8db677133d483249" + ], + "data": "0x0000000000000000000000000000000000000000000000000057782c6c3704c600000000000000000000000000000000000000000000001756b66a3a4c186ba8000000000000000000000000000000000000000000000cfc07e8d91c1111bc80000000000000000000000000000000000000000000000017565ef20ddfe166e2000000000000000000000000000000000000000000000cfc084051487d48c146", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "transactionHash": "0x3ccfaceb64e9d09fae388a084f7b92543d1c5b6f92afd2e569dd39252de6cfe4", + "transactionIndex": "0x186", + "logIndex": "0x2b0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000100000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000100000000000000000000000000000200000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6d6707d663" + }, + { + "transactionHash": "0x09889fe91b32b6916e2989287440433d58247f6d9cc651f7cdcbe18ff56d577b", + "transactionIndex": "0x187", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x18118f9", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000b9ede6f94d192073d8eaf85f8db677133d483249" + ], + "data": "0x0000000000000000000000000000000000000000000000000002187a2721a9ee0000000000000000000000000000000000000000000000174a1303413e6dcb8a000000000000000000000000000000000000000000000cfc084051487d48c1460000000000000000000000000000000000000000000000174a10eac7174c219c000000000000000000000000000000000000000000000cfc084269c2a46a6b34", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "transactionHash": "0x09889fe91b32b6916e2989287440433d58247f6d9cc651f7cdcbe18ff56d577b", + "transactionIndex": "0x187", + "logIndex": "0x2b1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000100000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000100000000000000000000000000000200000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6d6707d663" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064172, + "chain": 137, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/137/run-latest.json b/broadcast/DeployKernelInitial.s.sol/137/run-latest.json new file mode 100644 index 00000000..0dd1a9b5 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/137/run-latest.json @@ -0,0 +1,230 @@ +{ + "transactions": [ + { + "hash": "0xd080367fd669f511c2155ec2ca91fc8f49ef2ff65f2df5fd9da64db7b10c72e3", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x26", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbb5ef8f5793e700b70835d2bb5fefb8b26b4d8ffe4bb7cb84706a5d29d3f3faa", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x27", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3ccfaceb64e9d09fae388a084f7b92543d1c5b6f92afd2e569dd39252de6cfe4", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x28", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x09889fe91b32b6916e2989287440433d58247f6d9cc651f7cdcbe18ff56d577b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x29", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd080367fd669f511c2155ec2ca91fc8f49ef2ff65f2df5fd9da64db7b10c72e3", + "transactionIndex": "0x184", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1621b6b", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000b9ede6f94d192073d8eaf85f8db677133d483249" + ], + "data": "0x000000000000000000000000000000000000000000000000005a84ea691d1b8e000000000000000000000000000000000000000000000017641823c2322e8194000000000000000000000000000000000000000000000cfc078c3bb780d2f70400000000000000000000000000000000000000000000001763bd9ed7c9116606000000000000000000000000000000000000000000000cfc07e6c0a1e9f01292", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "transactionHash": "0xd080367fd669f511c2155ec2ca91fc8f49ef2ff65f2df5fd9da64db7b10c72e3", + "transactionIndex": "0x184", + "logIndex": "0x2ae", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000100000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000100000000000000000000000000000200000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6d6707d663" + }, + { + "transactionHash": "0xbb5ef8f5793e700b70835d2bb5fefb8b26b4d8ffe4bb7cb84706a5d29d3f3faa", + "transactionIndex": "0x185", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x162d0cd", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000b9ede6f94d192073d8eaf85f8db677133d483249" + ], + "data": "0x0000000000000000000000000000000000000000000000000002187a2721a9ee0000000000000000000000000000000000000000000000175703edf447ac7c8e000000000000000000000000000000000000000000000cfc07e6c0a1e9f012920000000000000000000000000000000000000000000000175701d57a208ad2a0000000000000000000000000000000000000000000000cfc07e8d91c1111bc80", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "transactionHash": "0xbb5ef8f5793e700b70835d2bb5fefb8b26b4d8ffe4bb7cb84706a5d29d3f3faa", + "transactionIndex": "0x185", + "logIndex": "0x2af", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000100000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000100000000000000000000000000000200000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6d6707d663" + }, + { + "transactionHash": "0x3ccfaceb64e9d09fae388a084f7b92543d1c5b6f92afd2e569dd39252de6cfe4", + "transactionIndex": "0x186", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1806397", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000b9ede6f94d192073d8eaf85f8db677133d483249" + ], + "data": "0x0000000000000000000000000000000000000000000000000057782c6c3704c600000000000000000000000000000000000000000000001756b66a3a4c186ba8000000000000000000000000000000000000000000000cfc07e8d91c1111bc80000000000000000000000000000000000000000000000017565ef20ddfe166e2000000000000000000000000000000000000000000000cfc084051487d48c146", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "transactionHash": "0x3ccfaceb64e9d09fae388a084f7b92543d1c5b6f92afd2e569dd39252de6cfe4", + "transactionIndex": "0x186", + "logIndex": "0x2b0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000100000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000100000000000000000000000000000200000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6d6707d663" + }, + { + "transactionHash": "0x09889fe91b32b6916e2989287440433d58247f6d9cc651f7cdcbe18ff56d577b", + "transactionIndex": "0x187", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x18118f9", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000b9ede6f94d192073d8eaf85f8db677133d483249" + ], + "data": "0x0000000000000000000000000000000000000000000000000002187a2721a9ee0000000000000000000000000000000000000000000000174a1303413e6dcb8a000000000000000000000000000000000000000000000cfc084051487d48c1460000000000000000000000000000000000000000000000174a10eac7174c219c000000000000000000000000000000000000000000000cfc084269c2a46a6b34", + "blockHash": "0x4ac926c51f5ada7bc43fbfcfb5ef9ccc542d7a70c64b606898afed42b57c685d", + "blockNumber": "0x2fa9f11", + "transactionHash": "0x09889fe91b32b6916e2989287440433d58247f6d9cc651f7cdcbe18ff56d577b", + "transactionIndex": "0x187", + "logIndex": "0x2b1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000100000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000100000000000000000000000000000200000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6d6707d663" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064172, + "chain": 137, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/204/run-1700063658.json b/broadcast/DeployKernelInitial.s.sol/204/run-1700063658.json new file mode 100644 index 00000000..715e07a7 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/204/run-1700063658.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xeadec228e61910020480629c5f01e084d02bfb5d1999bb42c171efbab5aea5e8", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x14ef8a984841f65905087859970cbf5ca26997a9b964efa8bc6265e7f18e2ba0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x627136dfd973dcac61bca22435f4cba0ec5428277bedf92eb1c1d64a89d167c0", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x88840e189d105fe694140ce907760ce0343d170c03c884ab7cc8e691c0df2388", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xeadec228e61910020480629c5f01e084d02bfb5d1999bb42c171efbab5aea5e8", + "0x14ef8a984841f65905087859970cbf5ca26997a9b964efa8bc6265e7f18e2ba0", + "0x627136dfd973dcac61bca22435f4cba0ec5428277bedf92eb1c1d64a89d167c0", + "0x88840e189d105fe694140ce907760ce0343d170c03c884ab7cc8e691c0df2388" + ], + "returns": {}, + "timestamp": 1700063658, + "chain": 204, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/204/run-1700063665.json b/broadcast/DeployKernelInitial.s.sol/204/run-1700063665.json new file mode 100644 index 00000000..ca594c39 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/204/run-1700063665.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xeadec228e61910020480629c5f01e084d02bfb5d1999bb42c171efbab5aea5e8", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x14ef8a984841f65905087859970cbf5ca26997a9b964efa8bc6265e7f18e2ba0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x627136dfd973dcac61bca22435f4cba0ec5428277bedf92eb1c1d64a89d167c0", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x88840e189d105fe694140ce907760ce0343d170c03c884ab7cc8e691c0df2388", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xeadec228e61910020480629c5f01e084d02bfb5d1999bb42c171efbab5aea5e8", + "transactionIndex": "0x1", + "blockHash": "0xdcef3e17252a04ec50d358d7d75e476827c2d8aa8621b28364935958bd356700", + "blockNumber": "0x7eccb1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f94cf", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x14ef8a984841f65905087859970cbf5ca26997a9b964efa8bc6265e7f18e2ba0", + "transactionIndex": "0x2", + "blockHash": "0xdcef3e17252a04ec50d358d7d75e476827c2d8aa8621b28364935958bd356700", + "blockNumber": "0x7eccb1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x204a31", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x627136dfd973dcac61bca22435f4cba0ec5428277bedf92eb1c1d64a89d167c0", + "transactionIndex": "0x3", + "blockHash": "0xdcef3e17252a04ec50d358d7d75e476827c2d8aa8621b28364935958bd356700", + "blockNumber": "0x7eccb1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3ddcfb", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x88840e189d105fe694140ce907760ce0343d170c03c884ab7cc8e691c0df2388", + "transactionIndex": "0x4", + "blockHash": "0xdcef3e17252a04ec50d358d7d75e476827c2d8aa8621b28364935958bd356700", + "blockNumber": "0x7eccb1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3e925d", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063665, + "chain": 204, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/204/run-latest.json b/broadcast/DeployKernelInitial.s.sol/204/run-latest.json new file mode 100644 index 00000000..ca594c39 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/204/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xeadec228e61910020480629c5f01e084d02bfb5d1999bb42c171efbab5aea5e8", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x14ef8a984841f65905087859970cbf5ca26997a9b964efa8bc6265e7f18e2ba0", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x627136dfd973dcac61bca22435f4cba0ec5428277bedf92eb1c1d64a89d167c0", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x88840e189d105fe694140ce907760ce0343d170c03c884ab7cc8e691c0df2388", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xeadec228e61910020480629c5f01e084d02bfb5d1999bb42c171efbab5aea5e8", + "transactionIndex": "0x1", + "blockHash": "0xdcef3e17252a04ec50d358d7d75e476827c2d8aa8621b28364935958bd356700", + "blockNumber": "0x7eccb1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f94cf", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x14ef8a984841f65905087859970cbf5ca26997a9b964efa8bc6265e7f18e2ba0", + "transactionIndex": "0x2", + "blockHash": "0xdcef3e17252a04ec50d358d7d75e476827c2d8aa8621b28364935958bd356700", + "blockNumber": "0x7eccb1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x204a31", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x627136dfd973dcac61bca22435f4cba0ec5428277bedf92eb1c1d64a89d167c0", + "transactionIndex": "0x3", + "blockHash": "0xdcef3e17252a04ec50d358d7d75e476827c2d8aa8621b28364935958bd356700", + "blockNumber": "0x7eccb1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3ddcfb", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + }, + { + "transactionHash": "0x88840e189d105fe694140ce907760ce0343d170c03c884ab7cc8e691c0df2388", + "transactionIndex": "0x4", + "blockHash": "0xdcef3e17252a04ec50d358d7d75e476827c2d8aa8621b28364935958bd356700", + "blockNumber": "0x7eccb1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3e925d", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063665, + "chain": 204, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/420/run-1700064886.json b/broadcast/DeployKernelInitial.s.sol/420/run-1700064886.json new file mode 100644 index 00000000..af522ffd --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/420/run-1700064886.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0x04c7cd7da6117e72ed1e9f5f5d5c3e1c15e2776fbd95d9cd740802a72a5d9323", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x18" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x55c118173fbf398143c5e7c0516028dbb0964d9ca3f6d21e1eea3835246cf2de", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x19" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9ef53c24a9c65427df94922e92ba4b648910c9d38ceaead3105aeab8dc678e94", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x66ac65a14db77957af6f694dacace084984094bdd5f3593b04cbb47505ed511c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1b" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x04c7cd7da6117e72ed1e9f5f5d5c3e1c15e2776fbd95d9cd740802a72a5d9323", + "0x55c118173fbf398143c5e7c0516028dbb0964d9ca3f6d21e1eea3835246cf2de", + "0x9ef53c24a9c65427df94922e92ba4b648910c9d38ceaead3105aeab8dc678e94", + "0x66ac65a14db77957af6f694dacace084984094bdd5f3593b04cbb47505ed511c" + ], + "returns": {}, + "timestamp": 1700064886, + "chain": 420, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/420/run-1700064892.json b/broadcast/DeployKernelInitial.s.sol/420/run-1700064892.json new file mode 100644 index 00000000..341d5333 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/420/run-1700064892.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0x04c7cd7da6117e72ed1e9f5f5d5c3e1c15e2776fbd95d9cd740802a72a5d9323", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x18" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x55c118173fbf398143c5e7c0516028dbb0964d9ca3f6d21e1eea3835246cf2de", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x19" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9ef53c24a9c65427df94922e92ba4b648910c9d38ceaead3105aeab8dc678e94", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x66ac65a14db77957af6f694dacace084984094bdd5f3593b04cbb47505ed511c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1b" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x04c7cd7da6117e72ed1e9f5f5d5c3e1c15e2776fbd95d9cd740802a72a5d9323", + "transactionIndex": "0x1", + "blockHash": "0x53a483952cf19b8f12974441670fbfcd8999afd88be45d4152a4b4ea0dc088e9", + "blockNumber": "0x108420a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f5423", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + }, + { + "transactionHash": "0x55c118173fbf398143c5e7c0516028dbb0964d9ca3f6d21e1eea3835246cf2de", + "transactionIndex": "0x2", + "blockHash": "0x53a483952cf19b8f12974441670fbfcd8999afd88be45d4152a4b4ea0dc088e9", + "blockNumber": "0x108420a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x200985", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + }, + { + "transactionHash": "0x9ef53c24a9c65427df94922e92ba4b648910c9d38ceaead3105aeab8dc678e94", + "transactionIndex": "0x3", + "blockHash": "0x53a483952cf19b8f12974441670fbfcd8999afd88be45d4152a4b4ea0dc088e9", + "blockNumber": "0x108420a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3d9e8b", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + }, + { + "transactionHash": "0x66ac65a14db77957af6f694dacace084984094bdd5f3593b04cbb47505ed511c", + "transactionIndex": "0x4", + "blockHash": "0x53a483952cf19b8f12974441670fbfcd8999afd88be45d4152a4b4ea0dc088e9", + "blockNumber": "0x108420a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3e53ed", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064892, + "chain": 420, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/420/run-latest.json b/broadcast/DeployKernelInitial.s.sol/420/run-latest.json new file mode 100644 index 00000000..341d5333 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/420/run-latest.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0x04c7cd7da6117e72ed1e9f5f5d5c3e1c15e2776fbd95d9cd740802a72a5d9323", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x18" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x55c118173fbf398143c5e7c0516028dbb0964d9ca3f6d21e1eea3835246cf2de", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x19" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9ef53c24a9c65427df94922e92ba4b648910c9d38ceaead3105aeab8dc678e94", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x66ac65a14db77957af6f694dacace084984094bdd5f3593b04cbb47505ed511c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1b" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x04c7cd7da6117e72ed1e9f5f5d5c3e1c15e2776fbd95d9cd740802a72a5d9323", + "transactionIndex": "0x1", + "blockHash": "0x53a483952cf19b8f12974441670fbfcd8999afd88be45d4152a4b4ea0dc088e9", + "blockNumber": "0x108420a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f5423", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + }, + { + "transactionHash": "0x55c118173fbf398143c5e7c0516028dbb0964d9ca3f6d21e1eea3835246cf2de", + "transactionIndex": "0x2", + "blockHash": "0x53a483952cf19b8f12974441670fbfcd8999afd88be45d4152a4b4ea0dc088e9", + "blockNumber": "0x108420a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x200985", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + }, + { + "transactionHash": "0x9ef53c24a9c65427df94922e92ba4b648910c9d38ceaead3105aeab8dc678e94", + "transactionIndex": "0x3", + "blockHash": "0x53a483952cf19b8f12974441670fbfcd8999afd88be45d4152a4b4ea0dc088e9", + "blockNumber": "0x108420a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3d9e8b", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + }, + { + "transactionHash": "0x66ac65a14db77957af6f694dacace084984094bdd5f3593b04cbb47505ed511c", + "transactionIndex": "0x4", + "blockHash": "0x53a483952cf19b8f12974441670fbfcd8999afd88be45d4152a4b4ea0dc088e9", + "blockNumber": "0x108420a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3e53ed", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064892, + "chain": 420, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/42161/run-1700063926.json b/broadcast/DeployKernelInitial.s.sol/42161/run-1700063926.json new file mode 100644 index 00000000..f6051122 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/42161/run-1700063926.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xf4140f1dd10894bcccb593f4c81915ca7be84c060fbb6eb8fa3e8571fd0c398f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2511223", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe480501ecaa9646e988f95346ba38f544930229f075c55b31a624b49984a09f6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x15368a", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9842ff474f5550d3187e8cab82cb42f4f435124d6e6b7a34201d4512402f543b", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x23b068e", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5233fa846c19d72ab4654e5254cbe2abcbd9ae1a4ed30a433e8819dd6533ed17", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x15368a", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf4140f1dd10894bcccb593f4c81915ca7be84c060fbb6eb8fa3e8571fd0c398f", + "transactionIndex": "0x2", + "blockHash": "0x52728a41be2a801114665d790e055f88031960dd0671c91282c906ec6363ca4a", + "blockNumber": "0x8fb8d6a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1ad5f57", + "gasUsed": "0x19bb22f", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xe480501ecaa9646e988f95346ba38f544930229f075c55b31a624b49984a09f6", + "transactionIndex": "0x5", + "blockHash": "0xeba037f6a63fdb5afcb1b0429d3a89bb6c412bf3e5026f07ffb7bb23f9088beb", + "blockNumber": "0x8fb8d74", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x43b37c", + "gasUsed": "0xd079c", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x9842ff474f5550d3187e8cab82cb42f4f435124d6e6b7a34201d4512402f543b", + "transactionIndex": "0x1", + "blockHash": "0x76f526a1ae73ccf8b38facef55183a94a046b1db853f97d148fcfc7d5d2c0a31", + "blockNumber": "0x8fb8d7c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x18c4771", + "gasUsed": "0x18c4771", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x5233fa846c19d72ab4654e5254cbe2abcbd9ae1a4ed30a433e8819dd6533ed17", + "transactionIndex": "0x1", + "blockHash": "0x39348b6b98751372248e56849f7614848251e83521ffc05804ba78e2e2d93ab4", + "blockNumber": "0x8fb8d86", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xd079c", + "gasUsed": "0xd079c", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063926, + "chain": 42161, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/42161/run-latest.json b/broadcast/DeployKernelInitial.s.sol/42161/run-latest.json new file mode 100644 index 00000000..f6051122 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/42161/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xf4140f1dd10894bcccb593f4c81915ca7be84c060fbb6eb8fa3e8571fd0c398f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2511223", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe480501ecaa9646e988f95346ba38f544930229f075c55b31a624b49984a09f6", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x15368a", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9842ff474f5550d3187e8cab82cb42f4f435124d6e6b7a34201d4512402f543b", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x23b068e", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5233fa846c19d72ab4654e5254cbe2abcbd9ae1a4ed30a433e8819dd6533ed17", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x15368a", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf4140f1dd10894bcccb593f4c81915ca7be84c060fbb6eb8fa3e8571fd0c398f", + "transactionIndex": "0x2", + "blockHash": "0x52728a41be2a801114665d790e055f88031960dd0671c91282c906ec6363ca4a", + "blockNumber": "0x8fb8d6a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1ad5f57", + "gasUsed": "0x19bb22f", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xe480501ecaa9646e988f95346ba38f544930229f075c55b31a624b49984a09f6", + "transactionIndex": "0x5", + "blockHash": "0xeba037f6a63fdb5afcb1b0429d3a89bb6c412bf3e5026f07ffb7bb23f9088beb", + "blockNumber": "0x8fb8d74", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x43b37c", + "gasUsed": "0xd079c", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x9842ff474f5550d3187e8cab82cb42f4f435124d6e6b7a34201d4512402f543b", + "transactionIndex": "0x1", + "blockHash": "0x76f526a1ae73ccf8b38facef55183a94a046b1db853f97d148fcfc7d5d2c0a31", + "blockNumber": "0x8fb8d7c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x18c4771", + "gasUsed": "0x18c4771", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x5233fa846c19d72ab4654e5254cbe2abcbd9ae1a4ed30a433e8819dd6533ed17", + "transactionIndex": "0x1", + "blockHash": "0x39348b6b98751372248e56849f7614848251e83521ffc05804ba78e2e2d93ab4", + "blockNumber": "0x8fb8d86", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xd079c", + "gasUsed": "0xd079c", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063926, + "chain": 42161, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/421613/run-1700064995.json b/broadcast/DeployKernelInitial.s.sol/421613/run-1700064995.json new file mode 100644 index 00000000..8c2cfdac --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/421613/run-1700064995.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xe1a3d45f13d7df5c2e8c7bee6f9e8376aad3e6d7def4b2193b7e679c61e72905", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285a9a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2db46fcf3f3390eeb203da5f83725487808eb35c8c48ad267036ab011408d50", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xebcc", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x78c1840fbbea489b61bb138b9fc8fbd09d2e4bedb63b2adb273eddaccda3ceb1", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x26fe58", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x619eaa188f772467c1eeca532356c35a0dc889b45fcc1b394141381d7c375f62", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xebcc", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe1a3d45f13d7df5c2e8c7bee6f9e8376aad3e6d7def4b2193b7e679c61e72905", + "transactionIndex": "0x1", + "blockHash": "0x843cee986b06293f2cfe773ff35456c73b06c231cdfa421fd849e22173f95ee8", + "blockNumber": "0x349fe61", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e9ac2", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xe2db46fcf3f3390eeb203da5f83725487808eb35c8c48ad267036ab011408d50", + "transactionIndex": "0x1", + "blockHash": "0x59a1a630d1dd259b2d953cf7319e362d4486ece3ae70e09bb87045ac0e43b08c", + "blockNumber": "0x349fe66", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x78c1840fbbea489b61bb138b9fc8fbd09d2e4bedb63b2adb273eddaccda3ceb1", + "transactionIndex": "0x1", + "blockHash": "0xa3f2da80032ba4f86eccb13197bedd5b3db4209359c1ab69f7ac90e3f37ea0af", + "blockNumber": "0x349fe6e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d92ca", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x619eaa188f772467c1eeca532356c35a0dc889b45fcc1b394141381d7c375f62", + "transactionIndex": "0x1", + "blockHash": "0x1308af174e7e2dd68662aac7cc53a818fe0055a616392cbe030618169151dc82", + "blockNumber": "0x349fe74", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064995, + "chain": 421613, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/421613/run-latest.json b/broadcast/DeployKernelInitial.s.sol/421613/run-latest.json new file mode 100644 index 00000000..8c2cfdac --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/421613/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xe1a3d45f13d7df5c2e8c7bee6f9e8376aad3e6d7def4b2193b7e679c61e72905", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285a9a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2db46fcf3f3390eeb203da5f83725487808eb35c8c48ad267036ab011408d50", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xebcc", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x78c1840fbbea489b61bb138b9fc8fbd09d2e4bedb63b2adb273eddaccda3ceb1", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x26fe58", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x619eaa188f772467c1eeca532356c35a0dc889b45fcc1b394141381d7c375f62", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0xebcc", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe1a3d45f13d7df5c2e8c7bee6f9e8376aad3e6d7def4b2193b7e679c61e72905", + "transactionIndex": "0x1", + "blockHash": "0x843cee986b06293f2cfe773ff35456c73b06c231cdfa421fd849e22173f95ee8", + "blockNumber": "0x349fe61", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e9ac2", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xe2db46fcf3f3390eeb203da5f83725487808eb35c8c48ad267036ab011408d50", + "transactionIndex": "0x1", + "blockHash": "0x59a1a630d1dd259b2d953cf7319e362d4486ece3ae70e09bb87045ac0e43b08c", + "blockNumber": "0x349fe66", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x78c1840fbbea489b61bb138b9fc8fbd09d2e4bedb63b2adb273eddaccda3ceb1", + "transactionIndex": "0x1", + "blockHash": "0xa3f2da80032ba4f86eccb13197bedd5b3db4209359c1ab69f7ac90e3f37ea0af", + "blockNumber": "0x349fe6e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d92ca", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x619eaa188f772467c1eeca532356c35a0dc889b45fcc1b394141381d7c375f62", + "transactionIndex": "0x1", + "blockHash": "0x1308af174e7e2dd68662aac7cc53a818fe0055a616392cbe030618169151dc82", + "blockNumber": "0x349fe74", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064995, + "chain": 421613, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/43113/run-1700064283.json b/broadcast/DeployKernelInitial.s.sol/43113/run-1700064283.json new file mode 100644 index 00000000..662d741f --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/43113/run-1700064283.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xea1b382c201c700033de47e4f2f39fa60ec74fdf49c53835f0e2f7f66a5dcc7d", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x45551d811f2a5a2bd7754e6d378354886b7259db514a0d570a9558424e7d3528", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x724813e4edc4b91b4511b8d21bff8f6b818f5292795c6ad86bcd27d06d2196af", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9136d06cbead0226d3789bb60605358c030b37d203e8088a41751a38bf3435e3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xea1b382c201c700033de47e4f2f39fa60ec74fdf49c53835f0e2f7f66a5dcc7d", + "0x45551d811f2a5a2bd7754e6d378354886b7259db514a0d570a9558424e7d3528", + "0x724813e4edc4b91b4511b8d21bff8f6b818f5292795c6ad86bcd27d06d2196af", + "0x9136d06cbead0226d3789bb60605358c030b37d203e8088a41751a38bf3435e3" + ], + "returns": {}, + "timestamp": 1700064283, + "chain": 43113, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/43113/run-1700064296.json b/broadcast/DeployKernelInitial.s.sol/43113/run-1700064296.json new file mode 100644 index 00000000..71ae3a58 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/43113/run-1700064296.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xea1b382c201c700033de47e4f2f39fa60ec74fdf49c53835f0e2f7f66a5dcc7d", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x45551d811f2a5a2bd7754e6d378354886b7259db514a0d570a9558424e7d3528", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x724813e4edc4b91b4511b8d21bff8f6b818f5292795c6ad86bcd27d06d2196af", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9136d06cbead0226d3789bb60605358c030b37d203e8088a41751a38bf3435e3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xea1b382c201c700033de47e4f2f39fa60ec74fdf49c53835f0e2f7f66a5dcc7d", + "transactionIndex": "0x0", + "blockHash": "0xc9790d1291870897a3e5404e1c49899838962610473ebf701bc4727936983d4c", + "blockNumber": "0x1a79c03", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e9ac2", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x45551d811f2a5a2bd7754e6d378354886b7259db514a0d570a9558424e7d3528", + "transactionIndex": "0x0", + "blockHash": "0xc1ee3b1cc2fc0b42b5d18cc76c4bdfb068209e8a5fa1c918e7eccf83b1730c5d", + "blockNumber": "0x1a79c04", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x724813e4edc4b91b4511b8d21bff8f6b818f5292795c6ad86bcd27d06d2196af", + "transactionIndex": "0x1", + "blockHash": "0xc1ee3b1cc2fc0b42b5d18cc76c4bdfb068209e8a5fa1c918e7eccf83b1730c5d", + "blockNumber": "0x1a79c04", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e482c", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x9136d06cbead0226d3789bb60605358c030b37d203e8088a41751a38bf3435e3", + "transactionIndex": "0x0", + "blockHash": "0x2ca9555347e3c0db5244ef5bb3964e5bf7225604e79563206b391ece35c08353", + "blockNumber": "0x1a79c05", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064296, + "chain": 43113, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/43113/run-latest.json b/broadcast/DeployKernelInitial.s.sol/43113/run-latest.json new file mode 100644 index 00000000..71ae3a58 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/43113/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xea1b382c201c700033de47e4f2f39fa60ec74fdf49c53835f0e2f7f66a5dcc7d", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x45551d811f2a5a2bd7754e6d378354886b7259db514a0d570a9558424e7d3528", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x724813e4edc4b91b4511b8d21bff8f6b818f5292795c6ad86bcd27d06d2196af", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9136d06cbead0226d3789bb60605358c030b37d203e8088a41751a38bf3435e3", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xea1b382c201c700033de47e4f2f39fa60ec74fdf49c53835f0e2f7f66a5dcc7d", + "transactionIndex": "0x0", + "blockHash": "0xc9790d1291870897a3e5404e1c49899838962610473ebf701bc4727936983d4c", + "blockNumber": "0x1a79c03", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e9ac2", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x45551d811f2a5a2bd7754e6d378354886b7259db514a0d570a9558424e7d3528", + "transactionIndex": "0x0", + "blockHash": "0xc1ee3b1cc2fc0b42b5d18cc76c4bdfb068209e8a5fa1c918e7eccf83b1730c5d", + "blockNumber": "0x1a79c04", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x724813e4edc4b91b4511b8d21bff8f6b818f5292795c6ad86bcd27d06d2196af", + "transactionIndex": "0x1", + "blockHash": "0xc1ee3b1cc2fc0b42b5d18cc76c4bdfb068209e8a5fa1c918e7eccf83b1730c5d", + "blockNumber": "0x1a79c04", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e482c", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0x9136d06cbead0226d3789bb60605358c030b37d203e8088a41751a38bf3435e3", + "transactionIndex": "0x0", + "blockHash": "0x2ca9555347e3c0db5244ef5bb3964e5bf7225604e79563206b391ece35c08353", + "blockNumber": "0x1a79c05", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064296, + "chain": 43113, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/43114/run-1700064217.json b/broadcast/DeployKernelInitial.s.sol/43114/run-1700064217.json new file mode 100644 index 00000000..0f020bf9 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/43114/run-1700064217.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xaef0d3372e1cc5183fca80622176b6b6267714d51ab4d38f1140c3b8d4a6e773", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc295392ed086d7f634080ac8209611bc6a05848d8db4fea192d68d61fe7c145f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xce2486bc36071bc3fff9541c82e929dd2dff3f321cf828d75e6f1088750d5287", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc9640506b1d79d5b48a0366a55adf1e6470e3d1e9b1ff3e60beb3c32844f264a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xaef0d3372e1cc5183fca80622176b6b6267714d51ab4d38f1140c3b8d4a6e773", + "0xc295392ed086d7f634080ac8209611bc6a05848d8db4fea192d68d61fe7c145f", + "0xce2486bc36071bc3fff9541c82e929dd2dff3f321cf828d75e6f1088750d5287", + "0xc9640506b1d79d5b48a0366a55adf1e6470e3d1e9b1ff3e60beb3c32844f264a" + ], + "returns": {}, + "timestamp": 1700064217, + "chain": 43114, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/43114/run-1700064230.json b/broadcast/DeployKernelInitial.s.sol/43114/run-1700064230.json new file mode 100644 index 00000000..f01a4e7f --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/43114/run-1700064230.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xaef0d3372e1cc5183fca80622176b6b6267714d51ab4d38f1140c3b8d4a6e773", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc295392ed086d7f634080ac8209611bc6a05848d8db4fea192d68d61fe7c145f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xce2486bc36071bc3fff9541c82e929dd2dff3f321cf828d75e6f1088750d5287", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc9640506b1d79d5b48a0366a55adf1e6470e3d1e9b1ff3e60beb3c32844f264a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xaef0d3372e1cc5183fca80622176b6b6267714d51ab4d38f1140c3b8d4a6e773", + "transactionIndex": "0x1", + "blockHash": "0x2f08ec59abfa7b16f249754c8f76e36ddbab6c7f0768494b216666b56a2380c6", + "blockNumber": "0x240d052", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x206276", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xc295392ed086d7f634080ac8209611bc6a05848d8db4fea192d68d61fe7c145f", + "transactionIndex": "0x2", + "blockHash": "0x2f08ec59abfa7b16f249754c8f76e36ddbab6c7f0768494b216666b56a2380c6", + "blockNumber": "0x240d052", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2117d8", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xce2486bc36071bc3fff9541c82e929dd2dff3f321cf828d75e6f1088750d5287", + "transactionIndex": "0x0", + "blockHash": "0xe4b312a022de3ad0b9bdb0eabb6e63107a5e1f6a22894f8cfd5aae6866dedd72", + "blockNumber": "0x240d053", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d92ca", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xc9640506b1d79d5b48a0366a55adf1e6470e3d1e9b1ff3e60beb3c32844f264a", + "transactionIndex": "0x2", + "blockHash": "0xd99cf5addf94c1a8c2c17ecfb765573f9ca4f325855b0a2f6cb3e59ad95a9639", + "blockNumber": "0x240d054", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x65f3e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064230, + "chain": 43114, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/43114/run-latest.json b/broadcast/DeployKernelInitial.s.sol/43114/run-latest.json new file mode 100644 index 00000000..f01a4e7f --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/43114/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xaef0d3372e1cc5183fca80622176b6b6267714d51ab4d38f1140c3b8d4a6e773", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc295392ed086d7f634080ac8209611bc6a05848d8db4fea192d68d61fe7c145f", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xce2486bc36071bc3fff9541c82e929dd2dff3f321cf828d75e6f1088750d5287", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc9640506b1d79d5b48a0366a55adf1e6470e3d1e9b1ff3e60beb3c32844f264a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xaef0d3372e1cc5183fca80622176b6b6267714d51ab4d38f1140c3b8d4a6e773", + "transactionIndex": "0x1", + "blockHash": "0x2f08ec59abfa7b16f249754c8f76e36ddbab6c7f0768494b216666b56a2380c6", + "blockNumber": "0x240d052", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x206276", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xc295392ed086d7f634080ac8209611bc6a05848d8db4fea192d68d61fe7c145f", + "transactionIndex": "0x2", + "blockHash": "0x2f08ec59abfa7b16f249754c8f76e36ddbab6c7f0768494b216666b56a2380c6", + "blockNumber": "0x240d052", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2117d8", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xce2486bc36071bc3fff9541c82e929dd2dff3f321cf828d75e6f1088750d5287", + "transactionIndex": "0x0", + "blockHash": "0xe4b312a022de3ad0b9bdb0eabb6e63107a5e1f6a22894f8cfd5aae6866dedd72", + "blockNumber": "0x240d053", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d92ca", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + }, + { + "transactionHash": "0xc9640506b1d79d5b48a0366a55adf1e6470e3d1e9b1ff3e60beb3c32844f264a", + "transactionIndex": "0x2", + "blockHash": "0xd99cf5addf94c1a8c2c17ecfb765573f9ca4f325855b0a2f6cb3e59ad95a9639", + "blockNumber": "0x240d054", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x65f3e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064230, + "chain": 43114, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/5/run-1700065028.json b/broadcast/DeployKernelInitial.s.sol/5/run-1700065028.json new file mode 100644 index 00000000..d43eeda1 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/5/run-1700065028.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xc6627d53d388719d1efda36b87857e04909fb3f31172c02d845949a0920d66eb", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x59", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf7277afa5ba6d01e4eb4c13e47cbec38a777375d2598308e087f02b12e16b8a8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbc0da19bbf28948a38bf5d9d2d04c8ceeb959430458ff35c9a0419580ce14235", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x5b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x378c2edb23e7f0618f4a6c1f8ce2216cb8477bab7b7e8aa87258749016d8e56c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xc6627d53d388719d1efda36b87857e04909fb3f31172c02d845949a0920d66eb", + "0xf7277afa5ba6d01e4eb4c13e47cbec38a777375d2598308e087f02b12e16b8a8", + "0xbc0da19bbf28948a38bf5d9d2d04c8ceeb959430458ff35c9a0419580ce14235", + "0x378c2edb23e7f0618f4a6c1f8ce2216cb8477bab7b7e8aa87258749016d8e56c" + ], + "returns": {}, + "timestamp": 1700065028, + "chain": 5, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/5/run-1700065035.json b/broadcast/DeployKernelInitial.s.sol/5/run-1700065035.json new file mode 100644 index 00000000..1a48ceb9 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/5/run-1700065035.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xc6627d53d388719d1efda36b87857e04909fb3f31172c02d845949a0920d66eb", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x59", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf7277afa5ba6d01e4eb4c13e47cbec38a777375d2598308e087f02b12e16b8a8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbc0da19bbf28948a38bf5d9d2d04c8ceeb959430458ff35c9a0419580ce14235", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x5b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x378c2edb23e7f0618f4a6c1f8ce2216cb8477bab7b7e8aa87258749016d8e56c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc6627d53d388719d1efda36b87857e04909fb3f31172c02d845949a0920d66eb", + "transactionIndex": "0x6", + "blockHash": "0x83e7ecd5366d304230db24817b4ba1af28a74db862be5ac5913db6bfae0b25fb", + "blockNumber": "0x9954d0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x41484c", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xf7277afa5ba6d01e4eb4c13e47cbec38a777375d2598308e087f02b12e16b8a8", + "transactionIndex": "0x7", + "blockHash": "0x83e7ecd5366d304230db24817b4ba1af28a74db862be5ac5913db6bfae0b25fb", + "blockNumber": "0x9954d0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x41fdae", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xbc0da19bbf28948a38bf5d9d2d04c8ceeb959430458ff35c9a0419580ce14235", + "transactionIndex": "0x8", + "blockHash": "0x83e7ecd5366d304230db24817b4ba1af28a74db862be5ac5913db6bfae0b25fb", + "blockNumber": "0x9954d0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5f92b4", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x378c2edb23e7f0618f4a6c1f8ce2216cb8477bab7b7e8aa87258749016d8e56c", + "transactionIndex": "0x9", + "blockHash": "0x83e7ecd5366d304230db24817b4ba1af28a74db862be5ac5913db6bfae0b25fb", + "blockNumber": "0x9954d0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x604816", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065035, + "chain": 5, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/5/run-latest.json b/broadcast/DeployKernelInitial.s.sol/5/run-latest.json new file mode 100644 index 00000000..1a48ceb9 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/5/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0xc6627d53d388719d1efda36b87857e04909fb3f31172c02d845949a0920d66eb", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x59", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf7277afa5ba6d01e4eb4c13e47cbec38a777375d2598308e087f02b12e16b8a8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xbc0da19bbf28948a38bf5d9d2d04c8ceeb959430458ff35c9a0419580ce14235", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x5b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x378c2edb23e7f0618f4a6c1f8ce2216cb8477bab7b7e8aa87258749016d8e56c", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc6627d53d388719d1efda36b87857e04909fb3f31172c02d845949a0920d66eb", + "transactionIndex": "0x6", + "blockHash": "0x83e7ecd5366d304230db24817b4ba1af28a74db862be5ac5913db6bfae0b25fb", + "blockNumber": "0x9954d0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x41484c", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xf7277afa5ba6d01e4eb4c13e47cbec38a777375d2598308e087f02b12e16b8a8", + "transactionIndex": "0x7", + "blockHash": "0x83e7ecd5366d304230db24817b4ba1af28a74db862be5ac5913db6bfae0b25fb", + "blockNumber": "0x9954d0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x41fdae", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0xbc0da19bbf28948a38bf5d9d2d04c8ceeb959430458ff35c9a0419580ce14235", + "transactionIndex": "0x8", + "blockHash": "0x83e7ecd5366d304230db24817b4ba1af28a74db862be5ac5913db6bfae0b25fb", + "blockNumber": "0x9954d0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5f92b4", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + }, + { + "transactionHash": "0x378c2edb23e7f0618f4a6c1f8ce2216cb8477bab7b7e8aa87258749016d8e56c", + "transactionIndex": "0x9", + "blockHash": "0x83e7ecd5366d304230db24817b4ba1af28a74db862be5ac5913db6bfae0b25fb", + "blockNumber": "0x9954d0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x604816", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0a" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700065035, + "chain": 5, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/56/run-1700064070.json b/broadcast/DeployKernelInitial.s.sol/56/run-1700064070.json new file mode 100644 index 00000000..63fd88aa --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/56/run-1700064070.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0x8275af14c3f74d762ca4acb45a2b15872d07bc02260ecd44c663c9817f3a7c5f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7acb7a15dcc7bb2c1435b79c5c4333f7fea26ad25c6cc5552a07dc3a55b4a98a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5c7db3c3b8f7ccca7ba648c36dae6ae32506ec8f74850d127092d1ffba42c37c", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc4ebd762397dafc760d9a16895993467990a68cf3d535a45bb2a310986d779d8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x8275af14c3f74d762ca4acb45a2b15872d07bc02260ecd44c663c9817f3a7c5f", + "0x7acb7a15dcc7bb2c1435b79c5c4333f7fea26ad25c6cc5552a07dc3a55b4a98a", + "0x5c7db3c3b8f7ccca7ba648c36dae6ae32506ec8f74850d127092d1ffba42c37c", + "0xc4ebd762397dafc760d9a16895993467990a68cf3d535a45bb2a310986d779d8" + ], + "returns": {}, + "timestamp": 1700064070, + "chain": 56, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/56/run-1700064077.json b/broadcast/DeployKernelInitial.s.sol/56/run-1700064077.json new file mode 100644 index 00000000..0698e958 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/56/run-1700064077.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0x8275af14c3f74d762ca4acb45a2b15872d07bc02260ecd44c663c9817f3a7c5f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7acb7a15dcc7bb2c1435b79c5c4333f7fea26ad25c6cc5552a07dc3a55b4a98a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5c7db3c3b8f7ccca7ba648c36dae6ae32506ec8f74850d127092d1ffba42c37c", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc4ebd762397dafc760d9a16895993467990a68cf3d535a45bb2a310986d779d8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8275af14c3f74d762ca4acb45a2b15872d07bc02260ecd44c663c9817f3a7c5f", + "transactionIndex": "0x13", + "blockHash": "0x40739bd06819b7ced764442b4b9d2195cf3002d1256b6fbcc161b41af2392d97", + "blockNumber": "0x1ff73a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x2cad26", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0x7acb7a15dcc7bb2c1435b79c5c4333f7fea26ad25c6cc5552a07dc3a55b4a98a", + "transactionIndex": "0x14", + "blockHash": "0x40739bd06819b7ced764442b4b9d2195cf3002d1256b6fbcc161b41af2392d97", + "blockNumber": "0x1ff73a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2d6288", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0x5c7db3c3b8f7ccca7ba648c36dae6ae32506ec8f74850d127092d1ffba42c37c", + "transactionIndex": "0x15", + "blockHash": "0x40739bd06819b7ced764442b4b9d2195cf3002d1256b6fbcc161b41af2392d97", + "blockNumber": "0x1ff73a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4af552", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0xc4ebd762397dafc760d9a16895993467990a68cf3d535a45bb2a310986d779d8", + "transactionIndex": "0x16", + "blockHash": "0x40739bd06819b7ced764442b4b9d2195cf3002d1256b6fbcc161b41af2392d97", + "blockNumber": "0x1ff73a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x4baab4", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064077, + "chain": 56, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/56/run-latest.json b/broadcast/DeployKernelInitial.s.sol/56/run-latest.json new file mode 100644 index 00000000..0698e958 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/56/run-latest.json @@ -0,0 +1,158 @@ +{ + "transactions": [ + { + "hash": "0x8275af14c3f74d762ca4acb45a2b15872d07bc02260ecd44c663c9817f3a7c5f", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xe" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7acb7a15dcc7bb2c1435b79c5c4333f7fea26ad25c6cc5552a07dc3a55b4a98a", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xf" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5c7db3c3b8f7ccca7ba648c36dae6ae32506ec8f74850d127092d1ffba42c37c", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x10" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc4ebd762397dafc760d9a16895993467990a68cf3d535a45bb2a310986d779d8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8275af14c3f74d762ca4acb45a2b15872d07bc02260ecd44c663c9817f3a7c5f", + "transactionIndex": "0x13", + "blockHash": "0x40739bd06819b7ced764442b4b9d2195cf3002d1256b6fbcc161b41af2392d97", + "blockNumber": "0x1ff73a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x2cad26", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0x7acb7a15dcc7bb2c1435b79c5c4333f7fea26ad25c6cc5552a07dc3a55b4a98a", + "transactionIndex": "0x14", + "blockHash": "0x40739bd06819b7ced764442b4b9d2195cf3002d1256b6fbcc161b41af2392d97", + "blockNumber": "0x1ff73a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2d6288", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0x5c7db3c3b8f7ccca7ba648c36dae6ae32506ec8f74850d127092d1ffba42c37c", + "transactionIndex": "0x15", + "blockHash": "0x40739bd06819b7ced764442b4b9d2195cf3002d1256b6fbcc161b41af2392d97", + "blockNumber": "0x1ff73a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4af552", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + }, + { + "transactionHash": "0xc4ebd762397dafc760d9a16895993467990a68cf3d535a45bb2a310986d779d8", + "transactionIndex": "0x16", + "blockHash": "0x40739bd06819b7ced764442b4b9d2195cf3002d1256b6fbcc161b41af2392d97", + "blockNumber": "0x1ff73a4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x4baab4", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064077, + "chain": 56, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/59140/run-1700063705.json b/broadcast/DeployKernelInitial.s.sol/59140/run-1700063705.json new file mode 100644 index 00000000..6ab089aa --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/59140/run-1700063705.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063705, + "chain": 59140, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/59140/run-1700063724.json b/broadcast/DeployKernelInitial.s.sol/59140/run-1700063724.json new file mode 100644 index 00000000..0e72555d --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/59140/run-1700063724.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063724, + "chain": 59140, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/59140/run-latest.json b/broadcast/DeployKernelInitial.s.sol/59140/run-latest.json new file mode 100644 index 00000000..0e72555d --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/59140/run-latest.json @@ -0,0 +1,97 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063724, + "chain": 59140, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/59144/run-1700063791.json b/broadcast/DeployKernelInitial.s.sol/59144/run-1700063791.json new file mode 100644 index 00000000..5f803557 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/59144/run-1700063791.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0x01ebe9538839e6f4adac1adfe2eff0d2f78e76dd0cc16d38cc0484615ff7ed54", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16fc836b3768049fc4552bbe890088abf559eabfd1dce5dac0c42ce41e8d7af9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x98d1ad1494335db399c33070554273434924f15dc2fbf16f92f4b6de379c5393", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x746ae6d73bbb6236500a768dfbee4f883aecff468c80b9aebd6460fc5d02a6dc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x01ebe9538839e6f4adac1adfe2eff0d2f78e76dd0cc16d38cc0484615ff7ed54", + "0x16fc836b3768049fc4552bbe890088abf559eabfd1dce5dac0c42ce41e8d7af9", + "0x98d1ad1494335db399c33070554273434924f15dc2fbf16f92f4b6de379c5393", + "0x746ae6d73bbb6236500a768dfbee4f883aecff468c80b9aebd6460fc5d02a6dc" + ], + "returns": {}, + "timestamp": 1700063791, + "chain": 59144, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/59144/run-1700063804.json b/broadcast/DeployKernelInitial.s.sol/59144/run-1700063804.json new file mode 100644 index 00000000..4fbe34f7 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/59144/run-1700063804.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x01ebe9538839e6f4adac1adfe2eff0d2f78e76dd0cc16d38cc0484615ff7ed54", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16fc836b3768049fc4552bbe890088abf559eabfd1dce5dac0c42ce41e8d7af9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x98d1ad1494335db399c33070554273434924f15dc2fbf16f92f4b6de379c5393", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x746ae6d73bbb6236500a768dfbee4f883aecff468c80b9aebd6460fc5d02a6dc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x01ebe9538839e6f4adac1adfe2eff0d2f78e76dd0cc16d38cc0484615ff7ed54", + "transactionIndex": "0xe", + "blockHash": "0xe5c668055e79257ecd7ba9e79f88c55859c27134ba9e1879fdd0d74be15b09bd", + "blockNumber": "0xd2d3b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x289b8a", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x16fc836b3768049fc4552bbe890088abf559eabfd1dce5dac0c42ce41e8d7af9", + "transactionIndex": "0xf", + "blockHash": "0xe5c668055e79257ecd7ba9e79f88c55859c27134ba9e1879fdd0d74be15b09bd", + "blockNumber": "0xd2d3b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2950ec", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x98d1ad1494335db399c33070554273434924f15dc2fbf16f92f4b6de379c5393", + "transactionIndex": "0x10", + "blockHash": "0xe5c668055e79257ecd7ba9e79f88c55859c27134ba9e1879fdd0d74be15b09bd", + "blockNumber": "0xd2d3b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x46e3b6", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x746ae6d73bbb6236500a768dfbee4f883aecff468c80b9aebd6460fc5d02a6dc", + "transactionIndex": "0x11", + "blockHash": "0xe5c668055e79257ecd7ba9e79f88c55859c27134ba9e1879fdd0d74be15b09bd", + "blockNumber": "0xd2d3b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x479918", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063804, + "chain": 59144, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/59144/run-latest.json b/broadcast/DeployKernelInitial.s.sol/59144/run-latest.json new file mode 100644 index 00000000..4fbe34f7 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/59144/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x01ebe9538839e6f4adac1adfe2eff0d2f78e76dd0cc16d38cc0484615ff7ed54", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x16fc836b3768049fc4552bbe890088abf559eabfd1dce5dac0c42ce41e8d7af9", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x98d1ad1494335db399c33070554273434924f15dc2fbf16f92f4b6de379c5393", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x746ae6d73bbb6236500a768dfbee4f883aecff468c80b9aebd6460fc5d02a6dc", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0xe", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x01ebe9538839e6f4adac1adfe2eff0d2f78e76dd0cc16d38cc0484615ff7ed54", + "transactionIndex": "0xe", + "blockHash": "0xe5c668055e79257ecd7ba9e79f88c55859c27134ba9e1879fdd0d74be15b09bd", + "blockNumber": "0xd2d3b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x289b8a", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x16fc836b3768049fc4552bbe890088abf559eabfd1dce5dac0c42ce41e8d7af9", + "transactionIndex": "0xf", + "blockHash": "0xe5c668055e79257ecd7ba9e79f88c55859c27134ba9e1879fdd0d74be15b09bd", + "blockNumber": "0xd2d3b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x2950ec", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x98d1ad1494335db399c33070554273434924f15dc2fbf16f92f4b6de379c5393", + "transactionIndex": "0x10", + "blockHash": "0xe5c668055e79257ecd7ba9e79f88c55859c27134ba9e1879fdd0d74be15b09bd", + "blockNumber": "0xd2d3b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x46e3b6", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + }, + { + "transactionHash": "0x746ae6d73bbb6236500a768dfbee4f883aecff468c80b9aebd6460fc5d02a6dc", + "transactionIndex": "0x11", + "blockHash": "0xe5c668055e79257ecd7ba9e79f88c55859c27134ba9e1879fdd0d74be15b09bd", + "blockNumber": "0xd2d3b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x479918", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700063804, + "chain": 59144, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/80001/run-1700064339.json b/broadcast/DeployKernelInitial.s.sol/80001/run-1700064339.json new file mode 100644 index 00000000..8e3ce092 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/80001/run-1700064339.json @@ -0,0 +1,98 @@ +{ + "transactions": [ + { + "hash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x118" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x119" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x11a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11b" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", + "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", + "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255" + ], + "returns": {}, + "timestamp": 1700064339, + "chain": 80001, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/80001/run-1700064346.json b/broadcast/DeployKernelInitial.s.sol/80001/run-1700064346.json new file mode 100644 index 00000000..6380322e --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/80001/run-1700064346.json @@ -0,0 +1,226 @@ +{ + "transactions": [ + { + "hash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x118" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x119" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x11a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11b" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", + "transactionIndex": "0x4", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x21b52c", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x000000000000000000000000000000000000000000000000000ab110b0264e0000000000000000000000000000000000000000000000000017afae461bab92de000000000000000000000000000000000000000000000021c57c245b2fcd062700000000000000000000000000000000000000000000000017a4fd356b8544de000000000000000000000000000000000000000000000021c586d56bdff35427", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "transactionHash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", + "transactionIndex": "0x4", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", + "transactionIndex": "0x5", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x226a8e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe0000000000000000000000000000000000000000000000000017a4fd3569ba10d0000000000000000000000000000000000000000000000021c586d56bdff3542700000000000000000000000000000000000000000000000017a4bddc869d12d0000000000000000000000000000000000000000000000021c58714c4c3105227", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "transactionHash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", + "transactionIndex": "0x5", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "transactionIndex": "0x6", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3fff94", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x000000000000000000000000000000000000000000000000000a54d90ecc1a0000000000000000000000000000000000000000000000000017a4bddc86927212000000000000000000000000000000000000000000000021c58714c4c3105227000000000000000000000000000000000000000000000000179a690377c65812000000000000000000000000000000000000000000000021c591699dd1dc6c27", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "transactionHash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "transactionIndex": "0x6", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", + "transactionIndex": "0x7", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x40b4f6", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe00000000000000000000000000000000000000000000000000179a6903760a9cb8000000000000000000000000000000000000000000000021c591699dd1dc6c27000000000000000000000000000000000000000000000000179a29aa92ed9eb8000000000000000000000000000000000000000000000021c591a8f6b4f96a27", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "transactionHash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", + "transactionIndex": "0x7", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064346, + "chain": 80001, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/80001/run-latest.json b/broadcast/DeployKernelInitial.s.sol/80001/run-latest.json new file mode 100644 index 00000000..6380322e --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/80001/run-latest.json @@ -0,0 +1,226 @@ +{ + "transactions": [ + { + "hash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x118" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x119" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x11a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11b" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", + "transactionIndex": "0x4", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x21b52c", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x000000000000000000000000000000000000000000000000000ab110b0264e0000000000000000000000000000000000000000000000000017afae461bab92de000000000000000000000000000000000000000000000021c57c245b2fcd062700000000000000000000000000000000000000000000000017a4fd356b8544de000000000000000000000000000000000000000000000021c586d56bdff35427", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "transactionHash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", + "transactionIndex": "0x4", + "logIndex": "0xa", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", + "transactionIndex": "0x5", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x226a8e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe0000000000000000000000000000000000000000000000000017a4fd3569ba10d0000000000000000000000000000000000000000000000021c586d56bdff3542700000000000000000000000000000000000000000000000017a4bddc869d12d0000000000000000000000000000000000000000000000021c58714c4c3105227", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "transactionHash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", + "transactionIndex": "0x5", + "logIndex": "0xb", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "transactionIndex": "0x6", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3fff94", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x000000000000000000000000000000000000000000000000000a54d90ecc1a0000000000000000000000000000000000000000000000000017a4bddc86927212000000000000000000000000000000000000000000000021c58714c4c3105227000000000000000000000000000000000000000000000000179a690377c65812000000000000000000000000000000000000000000000021c591699dd1dc6c27", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "transactionHash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "transactionIndex": "0x6", + "logIndex": "0xc", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + }, + { + "transactionHash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", + "transactionIndex": "0x7", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x40b4f6", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe00000000000000000000000000000000000000000000000000179a6903760a9cb8000000000000000000000000000000000000000000000021c591699dd1dc6c27000000000000000000000000000000000000000000000000179a29aa92ed9eb8000000000000000000000000000000000000000000000021c591a8f6b4f96a27", + "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", + "blockNumber": "0x2878155", + "transactionHash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", + "transactionIndex": "0x7", + "logIndex": "0xd", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064346, + "chain": 80001, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/8453/run-1700064110.json b/broadcast/DeployKernelInitial.s.sol/8453/run-1700064110.json new file mode 100644 index 00000000..de69b0f4 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/8453/run-1700064110.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0x4fb1e512be6efb721650d293b36adaff683333f61b7d4632fd33c7ac618c1f3a", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6797e97462b2c201cee9a1c22ec9e957524293de19a34f1ec59cff75458a10ae", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6333a1d40578b7ba97baa26cd7b49653c92d36b26c17c5bd37101621b34b52db", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3a58988821d11bd3eb266834ba661037de3ea327c53bc05d79070610db93f12", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x4fb1e512be6efb721650d293b36adaff683333f61b7d4632fd33c7ac618c1f3a", + "0x6797e97462b2c201cee9a1c22ec9e957524293de19a34f1ec59cff75458a10ae", + "0x6333a1d40578b7ba97baa26cd7b49653c92d36b26c17c5bd37101621b34b52db", + "0xc3a58988821d11bd3eb266834ba661037de3ea327c53bc05d79070610db93f12" + ], + "returns": {}, + "timestamp": 1700064110, + "chain": 8453, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/8453/run-1700064116.json b/broadcast/DeployKernelInitial.s.sol/8453/run-1700064116.json new file mode 100644 index 00000000..961c5004 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/8453/run-1700064116.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x4fb1e512be6efb721650d293b36adaff683333f61b7d4632fd33c7ac618c1f3a", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6797e97462b2c201cee9a1c22ec9e957524293de19a34f1ec59cff75458a10ae", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6333a1d40578b7ba97baa26cd7b49653c92d36b26c17c5bd37101621b34b52db", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3a58988821d11bd3eb266834ba661037de3ea327c53bc05d79070610db93f12", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x4fb1e512be6efb721650d293b36adaff683333f61b7d4632fd33c7ac618c1f3a", + "transactionIndex": "0x1", + "blockHash": "0x133168b803e7f9cc705fba864ddd6507685ccdddbbda44c7597ab49d8c3ad61d", + "blockNumber": "0x654746", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f6007", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0x6797e97462b2c201cee9a1c22ec9e957524293de19a34f1ec59cff75458a10ae", + "transactionIndex": "0x2", + "blockHash": "0x133168b803e7f9cc705fba864ddd6507685ccdddbbda44c7597ab49d8c3ad61d", + "blockNumber": "0x654746", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x201569", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0x6333a1d40578b7ba97baa26cd7b49653c92d36b26c17c5bd37101621b34b52db", + "transactionIndex": "0x1", + "blockHash": "0x0049bc995e1662b3117d6bad6986c2dd563e03f4f962fdab82f2e6e787315eff", + "blockNumber": "0x654747", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e8cd7", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0xc3a58988821d11bd3eb266834ba661037de3ea327c53bc05d79070610db93f12", + "transactionIndex": "0x2", + "blockHash": "0x0049bc995e1662b3117d6bad6986c2dd563e03f4f962fdab82f2e6e787315eff", + "blockNumber": "0x654747", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1f4239", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064116, + "chain": 8453, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/8453/run-latest.json b/broadcast/DeployKernelInitial.s.sol/8453/run-latest.json new file mode 100644 index 00000000..961c5004 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/8453/run-latest.json @@ -0,0 +1,162 @@ +{ + "transactions": [ + { + "hash": "0x4fb1e512be6efb721650d293b36adaff683333f61b7d4632fd33c7ac618c1f3a", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6797e97462b2c201cee9a1c22ec9e957524293de19a34f1ec59cff75458a10ae", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x11", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6333a1d40578b7ba97baa26cd7b49653c92d36b26c17c5bd37101621b34b52db", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc3a58988821d11bd3eb266834ba661037de3ea327c53bc05d79070610db93f12", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x4fb1e512be6efb721650d293b36adaff683333f61b7d4632fd33c7ac618c1f3a", + "transactionIndex": "0x1", + "blockHash": "0x133168b803e7f9cc705fba864ddd6507685ccdddbbda44c7597ab49d8c3ad61d", + "blockNumber": "0x654746", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f6007", + "gasUsed": "0x1e9ac2", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0x6797e97462b2c201cee9a1c22ec9e957524293de19a34f1ec59cff75458a10ae", + "transactionIndex": "0x2", + "blockHash": "0x133168b803e7f9cc705fba864ddd6507685ccdddbbda44c7597ab49d8c3ad61d", + "blockNumber": "0x654746", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x201569", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0x6333a1d40578b7ba97baa26cd7b49653c92d36b26c17c5bd37101621b34b52db", + "transactionIndex": "0x1", + "blockHash": "0x0049bc995e1662b3117d6bad6986c2dd563e03f4f962fdab82f2e6e787315eff", + "blockNumber": "0x654747", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e8cd7", + "gasUsed": "0x1d92ca", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + }, + { + "transactionHash": "0xc3a58988821d11bd3eb266834ba661037de3ea327c53bc05d79070610db93f12", + "transactionIndex": "0x2", + "blockHash": "0x0049bc995e1662b3117d6bad6986c2dd563e03f4f962fdab82f2e6e787315eff", + "blockNumber": "0x654747", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1f4239", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e33" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064116, + "chain": 8453, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-1700064453.json b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064453.json new file mode 100644 index 00000000..9257f9f4 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064453.json @@ -0,0 +1,102 @@ +{ + "transactions": [ + { + "hash": "0xdc54c811f1d0b1d2566c0d2294036b4640d40bf5491763ade4677f1761184ee4", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3339601b9f1bc07a232933373a9ee28709e60b250452147812f9fc10a162efcd", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x431d11e26b7e58f4f221828a2e7654cef53cbb2dd872123d6c08d99d3c921e67", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x06c36d685d00aa238d7ecaac043dfb94dea0397ee0d3e15d25b534b187580d47", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xdc54c811f1d0b1d2566c0d2294036b4640d40bf5491763ade4677f1761184ee4", + "0x3339601b9f1bc07a232933373a9ee28709e60b250452147812f9fc10a162efcd", + "0x431d11e26b7e58f4f221828a2e7654cef53cbb2dd872123d6c08d99d3c921e67", + "0x06c36d685d00aa238d7ecaac043dfb94dea0397ee0d3e15d25b534b187580d47" + ], + "returns": {}, + "timestamp": 1700064453, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-1700064479.json b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064479.json new file mode 100644 index 00000000..4325ef91 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064479.json @@ -0,0 +1,130 @@ +{ + "transactions": [ + { + "hash": "0xdc54c811f1d0b1d2566c0d2294036b4640d40bf5491763ade4677f1761184ee4", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x1d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x3339601b9f1bc07a232933373a9ee28709e60b250452147812f9fc10a162efcd", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x1e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x431d11e26b7e58f4f221828a2e7654cef53cbb2dd872123d6c08d99d3c921e67", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x06c36d685d00aa238d7ecaac043dfb94dea0397ee0d3e15d25b534b187580d47", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xdc54c811f1d0b1d2566c0d2294036b4640d40bf5491763ade4677f1761184ee4", + "transactionIndex": "0x1", + "blockHash": "0xdb20307162d0f7e8e76bce521de749add669d74ab291e254d1b8ae0488b88375", + "blockNumber": "0xbdbfdb", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1f5417", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x3339601b9f1bc07a232933373a9ee28709e60b250452147812f9fc10a162efcd", + "transactionIndex": "0x2", + "blockHash": "0xdb20307162d0f7e8e76bce521de749add669d74ab291e254d1b8ae0488b88375", + "blockNumber": "0xbdbfdb", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x200979", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064479, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-1700064587.json b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064587.json new file mode 100644 index 00000000..bc981fc1 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064587.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064587, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-1700064605.json b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064605.json new file mode 100644 index 00000000..94682ff9 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064605.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064605, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-1700064686.json b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064686.json new file mode 100644 index 00000000..eb0cc3a4 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064686.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064686, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-1700064700.json b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064700.json new file mode 100644 index 00000000..ef291675 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064700.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064700, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-1700064725.json b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064725.json new file mode 100644 index 00000000..5fb99549 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064725.json @@ -0,0 +1,54 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700064725, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-1700064817.json b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064817.json new file mode 100644 index 00000000..eb21274d --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-1700064817.json @@ -0,0 +1,56 @@ +{ + "transactions": [ + { + "hash": "0x431d11e26b7e58f4f221828a2e7654cef53cbb2dd872123d6c08d99d3c921e67", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x431d11e26b7e58f4f221828a2e7654cef53cbb2dd872123d6c08d99d3c921e67" + ], + "returns": {}, + "timestamp": 1700064817, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/84531/run-latest.json b/broadcast/DeployKernelInitial.s.sol/84531/run-latest.json new file mode 100644 index 00000000..eb21274d --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/84531/run-latest.json @@ -0,0 +1,56 @@ +{ + "transactions": [ + { + "hash": "0x431d11e26b7e58f4f221828a2e7654cef53cbb2dd872123d6c08d99d3c921e67", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x20", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x431d11e26b7e58f4f221828a2e7654cef53cbb2dd872123d6c08d99d3c921e67" + ], + "returns": {}, + "timestamp": 1700064817, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/421613/run-1702478595.json b/broadcast/DeployRecovery.s.sol/421613/run-1702478595.json new file mode 100644 index 00000000..c2e07633 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/421613/run-1702478595.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x012c04d0329e7b8e51b2f55217f630c00e17f5fa7507c8461ccd3529419a7845", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1e0b47", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x012c04d0329e7b8e51b2f55217f630c00e17f5fa7507c8461ccd3529419a7845", + "transactionIndex": "0x1", + "blockHash": "0x19f4bb485e2536415cadb70f7634252681b6bcc83c6563fb79cdb11da0488c91", + "blockNumber": "0x3840a9d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x16c9fa", + "gasUsed": "0x16c9fa", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702478595, + "chain": 421613, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/421613/run-latest.json b/broadcast/DeployRecovery.s.sol/421613/run-latest.json new file mode 100644 index 00000000..c2e07633 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/421613/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x012c04d0329e7b8e51b2f55217f630c00e17f5fa7507c8461ccd3529419a7845", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1e0b47", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x012c04d0329e7b8e51b2f55217f630c00e17f5fa7507c8461ccd3529419a7845", + "transactionIndex": "0x1", + "blockHash": "0x19f4bb485e2536415cadb70f7634252681b6bcc83c6563fb79cdb11da0488c91", + "blockNumber": "0x3840a9d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x16c9fa", + "gasUsed": "0x16c9fa", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702478595, + "chain": 421613, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-1702475514.json b/broadcast/DeployRecovery.s.sol/80001/run-1702475514.json new file mode 100644 index 00000000..b20ce5df --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-1702475514.json @@ -0,0 +1,53 @@ +{ + "transactions": [ + { + "hash": "0xd6ed7217ea8e97366eb70e30d1450b527b486a34c6bbbab56ba1f37c97088771", + "transactionType": "CREATE", + "contractName": "RecoveryAction", + "contractAddress": "0xf2D46bbF670d478586E70912a463DF9595F436D8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x23e0b", + "value": "0x0", + "data": "0x6080806040523461001657610114908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c63ac39fd0f1461002a57600080fd5b34610110576040366003190112610110576004356001600160a01b0381169081900361010c578260243567ffffffffffffffff9283821161010c573660238301121561010c57816004013584811161010857366024828501011161010857813b156101085783604487838196946024839663064acaab60e11b855260206004860152828286015201848401378181018301849052601f01601f191681010301925af180156100fd576100da578280f35b81116100e95760405238808280f35b634e487b7160e01b82526041600452602482fd5b6040513d85823e3d90fd5b8380fd5b8280fd5b5080fd", + "nonce": "0x11c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x204ac3a0459e68396806bb1db75e0efbeade0d2c72d5c824ada8956f7eb7f5aa", + "transactionType": "CREATE", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0x883022ecf52E4e4ed26cBbAF19f768b77d38DC87", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x1d916c", + "value": "0x0", + "data": "0x6101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd6ed7217ea8e97366eb70e30d1450b527b486a34c6bbbab56ba1f37c97088771", + "0x204ac3a0459e68396806bb1db75e0efbeade0d2c72d5c824ada8956f7eb7f5aa" + ], + "returns": {}, + "timestamp": 1702475514, + "chain": 80001, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-1702475521.json b/broadcast/DeployRecovery.s.sol/80001/run-1702475521.json new file mode 100644 index 00000000..ea1a0a05 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-1702475521.json @@ -0,0 +1,117 @@ +{ + "transactions": [ + { + "hash": "0xd6ed7217ea8e97366eb70e30d1450b527b486a34c6bbbab56ba1f37c97088771", + "transactionType": "CREATE", + "contractName": "RecoveryAction", + "contractAddress": "0xf2D46bbF670d478586E70912a463DF9595F436D8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x23e0b", + "value": "0x0", + "data": "0x6080806040523461001657610114908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c63ac39fd0f1461002a57600080fd5b34610110576040366003190112610110576004356001600160a01b0381169081900361010c578260243567ffffffffffffffff9283821161010c573660238301121561010c57816004013584811161010857366024828501011161010857813b156101085783604487838196946024839663064acaab60e11b855260206004860152828286015201848401378181018301849052601f01601f191681010301925af180156100fd576100da578280f35b81116100e95760405238808280f35b634e487b7160e01b82526041600452602482fd5b6040513d85823e3d90fd5b8380fd5b8280fd5b5080fd", + "nonce": "0x11c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x204ac3a0459e68396806bb1db75e0efbeade0d2c72d5c824ada8956f7eb7f5aa", + "transactionType": "CREATE", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0x883022ecf52E4e4ed26cBbAF19f768b77d38DC87", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x1d916c", + "value": "0x0", + "data": "0x6101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd6ed7217ea8e97366eb70e30d1450b527b486a34c6bbbab56ba1f37c97088771", + "transactionIndex": "0x16", + "blockHash": "0x387ee68078f131731b1680d20fbeb0717b41c091c90e824ca75b31104cae9ee5", + "blockNumber": "0x2981f9b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x25693b", + "gasUsed": "0x1b9a7", + "contractAddress": "0xf2D46bbF670d478586E70912a463DF9595F436D8", + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000c275dc8be39f50d12f66b6a63629c39da5bae5bd" + ], + "data": "0x0000000000000000000000000000000000000000000000000000c78c078194da000000000000000000000000000000000000000000000000179a29aa92e2fdfa0000000000000000000000000000000000000000000013a92e96c05198938b5f0000000000000000000000000000000000000000000000001799621e8b6169200000000000000000000000000000000000000000000013a92e9787dda0152039", + "blockHash": "0x387ee68078f131731b1680d20fbeb0717b41c091c90e824ca75b31104cae9ee5", + "blockNumber": "0x2981f9b", + "transactionHash": "0xd6ed7217ea8e97366eb70e30d1450b527b486a34c6bbbab56ba1f37c97088771", + "transactionIndex": "0x16", + "logIndex": "0x38", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000002000000000000000000000000000000000000000000000000000800000000000000000040100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000040000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x73aa6ba5" + }, + { + "transactionHash": "0x204ac3a0459e68396806bb1db75e0efbeade0d2c72d5c824ada8956f7eb7f5aa", + "transactionIndex": "0x17", + "blockHash": "0x387ee68078f131731b1680d20fbeb0717b41c091c90e824ca75b31104cae9ee5", + "blockNumber": "0x2981f9b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x3c298f", + "gasUsed": "0x16c054", + "contractAddress": "0x883022ecf52E4e4ed26cBbAF19f768b77d38DC87", + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000c275dc8be39f50d12f66b6a63629c39da5bae5bd" + ], + "data": "0x000000000000000000000000000000000000000000000000000a478b037fcd380000000000000000000000000000000000000000000000001799621e8b4788570000000000000000000000000000000000000000000013a92e9787dda0152039000000000000000000000000000000000000000000000000178f1a9387c7bb1f0000000000000000000000000000000000000000000013a92ea1cf68a394ed71", + "blockHash": "0x387ee68078f131731b1680d20fbeb0717b41c091c90e824ca75b31104cae9ee5", + "blockNumber": "0x2981f9b", + "transactionHash": "0x204ac3a0459e68396806bb1db75e0efbeade0d2c72d5c824ada8956f7eb7f5aa", + "transactionIndex": "0x17", + "logIndex": "0x39", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000002000000000000000000000000000000000000000000000000000800000000000000000040100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000040000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x73aa6ba5" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702475521, + "chain": 80001, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-1702476827.json b/broadcast/DeployRecovery.s.sol/80001/run-1702476827.json new file mode 100644 index 00000000..153ae88e --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-1702476827.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702476827, + "chain": 80001, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-1702477060.json b/broadcast/DeployRecovery.s.sol/80001/run-1702477060.json new file mode 100644 index 00000000..1a50aba7 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-1702477060.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702477060, + "chain": 80001, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-1702477287.json b/broadcast/DeployRecovery.s.sol/80001/run-1702477287.json new file mode 100644 index 00000000..c317eb7f --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-1702477287.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5" + ], + "returns": {}, + "timestamp": 1702477287, + "chain": 80001, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-1702477294.json b/broadcast/DeployRecovery.s.sol/80001/run-1702477294.json new file mode 100644 index 00000000..8737c537 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-1702477294.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", + "transactionIndex": "0x5", + "blockHash": "0x734d8bba4a9e7fba7a4a825748bdec24bf1720f432290436a4fd6fd7392d1726", + "blockNumber": "0x29822de", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x2a1daf", + "gasUsed": "0x16cbac", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000cfef2a3dc244ef7d0fb93c45e762d671445c4569" + ], + "data": "0x000000000000000000000000000000000000000000000000001fdeeb9f1d1d84000000000000000000000000000000000000000000000000178f1a93867276330000000000000000000000000000000000000000000000ecd6b8053a7c926617000000000000000000000000000000000000000000000000176f3ba7e75558af0000000000000000000000000000000000000000000000ecd6d7e4261baf839b", + "blockHash": "0x734d8bba4a9e7fba7a4a825748bdec24bf1720f432290436a4fd6fd7392d1726", + "blockNumber": "0x29822de", + "transactionHash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", + "transactionIndex": "0x5", + "logIndex": "0x20", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000020100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000040000100000", + "type": "0x2", + "effectiveGasPrice": "0x165eaa3f7" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702477294, + "chain": 80001, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-latest.json b/broadcast/DeployRecovery.s.sol/80001/run-latest.json new file mode 100644 index 00000000..8737c537 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-latest.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", + "transactionIndex": "0x5", + "blockHash": "0x734d8bba4a9e7fba7a4a825748bdec24bf1720f432290436a4fd6fd7392d1726", + "blockNumber": "0x29822de", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x2a1daf", + "gasUsed": "0x16cbac", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000cfef2a3dc244ef7d0fb93c45e762d671445c4569" + ], + "data": "0x000000000000000000000000000000000000000000000000001fdeeb9f1d1d84000000000000000000000000000000000000000000000000178f1a93867276330000000000000000000000000000000000000000000000ecd6b8053a7c926617000000000000000000000000000000000000000000000000176f3ba7e75558af0000000000000000000000000000000000000000000000ecd6d7e4261baf839b", + "blockHash": "0x734d8bba4a9e7fba7a4a825748bdec24bf1720f432290436a4fd6fd7392d1726", + "blockNumber": "0x29822de", + "transactionHash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", + "transactionIndex": "0x5", + "logIndex": "0x20", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000020100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000040000100000", + "type": "0x2", + "effectiveGasPrice": "0x165eaa3f7" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702477294, + "chain": 80001, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/8453/run-1702481282.json b/broadcast/DeployRecovery.s.sol/8453/run-1702481282.json new file mode 100644 index 00000000..a53d7915 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/8453/run-1702481282.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702481282, + "chain": 8453, + "multi": false, + "commit": "c066058" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/8453/run-1702481314.json b/broadcast/DeployRecovery.s.sol/8453/run-1702481314.json new file mode 100644 index 00000000..5d73fed6 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/8453/run-1702481314.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702481314, + "chain": 8453, + "multi": false, + "commit": "c066058" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/8453/run-1702482239.json b/broadcast/DeployRecovery.s.sol/8453/run-1702482239.json new file mode 100644 index 00000000..9aff425c --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/8453/run-1702482239.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xe3ed81809fa0e91e66147569f509a6389364b0d565b5b7ad77fda1cac991f7ae", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xe3ed81809fa0e91e66147569f509a6389364b0d565b5b7ad77fda1cac991f7ae" + ], + "returns": {}, + "timestamp": 1702482239, + "chain": 8453, + "multi": false, + "commit": "c066058" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/8453/run-1702482245.json b/broadcast/DeployRecovery.s.sol/8453/run-1702482245.json new file mode 100644 index 00000000..a5b32af3 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/8453/run-1702482245.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xe3ed81809fa0e91e66147569f509a6389364b0d565b5b7ad77fda1cac991f7ae", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe3ed81809fa0e91e66147569f509a6389364b0d565b5b7ad77fda1cac991f7ae", + "transactionIndex": "0x1", + "blockHash": "0x4b752d38be243831a23271a55847889b3c743862ef8520afce81e5c5a168723c", + "blockNumber": "0x77ba2f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x17813b", + "gasUsed": "0x16c9fa", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702482245, + "chain": 8453, + "multi": false, + "commit": "c066058" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/8453/run-latest.json b/broadcast/DeployRecovery.s.sol/8453/run-latest.json new file mode 100644 index 00000000..a5b32af3 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/8453/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xe3ed81809fa0e91e66147569f509a6389364b0d565b5b7ad77fda1cac991f7ae", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe3ed81809fa0e91e66147569f509a6389364b0d565b5b7ad77fda1cac991f7ae", + "transactionIndex": "0x1", + "blockHash": "0x4b752d38be243831a23271a55847889b3c743862ef8520afce81e5c5a168723c", + "blockNumber": "0x77ba2f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x17813b", + "gasUsed": "0x16c9fa", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702482245, + "chain": 8453, + "multi": false, + "commit": "c066058" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/84531/run-1702478181.json b/broadcast/DeployRecovery.s.sol/84531/run-1702478181.json new file mode 100644 index 00000000..349f998b --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/84531/run-1702478181.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x5f25dfa336eebd7761d5da9a2eb51087a407f804dc537c3ea89d13946d89ddc8", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x5f25dfa336eebd7761d5da9a2eb51087a407f804dc537c3ea89d13946d89ddc8" + ], + "returns": {}, + "timestamp": 1702478181, + "chain": 84531, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/84531/run-1702478188.json b/broadcast/DeployRecovery.s.sol/84531/run-1702478188.json new file mode 100644 index 00000000..6c9c7cb7 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/84531/run-1702478188.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x5f25dfa336eebd7761d5da9a2eb51087a407f804dc537c3ea89d13946d89ddc8", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5f25dfa336eebd7761d5da9a2eb51087a407f804dc537c3ea89d13946d89ddc8", + "transactionIndex": "0x1", + "blockHash": "0x86315ef6901f5f641a24d475e88a41019f98d6a744598e8a0bac53d6ea6a34b9", + "blockNumber": "0xd02a2c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1782a5", + "gasUsed": "0x16cbac", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05f03" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702478188, + "chain": 84531, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/84531/run-latest.json b/broadcast/DeployRecovery.s.sol/84531/run-latest.json new file mode 100644 index 00000000..6c9c7cb7 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/84531/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x5f25dfa336eebd7761d5da9a2eb51087a407f804dc537c3ea89d13946d89ddc8", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x215430", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x22", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5f25dfa336eebd7761d5da9a2eb51087a407f804dc537c3ea89d13946d89ddc8", + "transactionIndex": "0x1", + "blockHash": "0x86315ef6901f5f641a24d475e88a41019f98d6a744598e8a0bac53d6ea6a34b9", + "blockNumber": "0xd02a2c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1782a5", + "gasUsed": "0x16cbac", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05f03" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702478188, + "chain": 84531, + "multi": false, + "commit": "62c67a2" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1700069198.json b/broadcast/DeploySessionKey.s.sol/1/run-1700069198.json new file mode 100644 index 00000000..5aa9faa2 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1700069198.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069198, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1700069248.json b/broadcast/DeploySessionKey.s.sol/1/run-1700069248.json new file mode 100644 index 00000000..062b18c5 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1700069248.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069248, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1700069272.json b/broadcast/DeploySessionKey.s.sol/1/run-1700069272.json new file mode 100644 index 00000000..0e955a4a --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1700069272.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069272, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1700069314.json b/broadcast/DeploySessionKey.s.sol/1/run-1700069314.json new file mode 100644 index 00000000..d81d3c37 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1700069314.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069314, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1700069351.json b/broadcast/DeploySessionKey.s.sol/1/run-1700069351.json new file mode 100644 index 00000000..5a6e7d5e --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1700069351.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x01ce06fce3fd7fe29ae1b76293ba14cb974e1b6a8d889f972dfa0e1ab027c930", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x01ce06fce3fd7fe29ae1b76293ba14cb974e1b6a8d889f972dfa0e1ab027c930" + ], + "returns": {}, + "timestamp": 1700069351, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1700069358.json b/broadcast/DeploySessionKey.s.sol/1/run-1700069358.json new file mode 100644 index 00000000..d3e92c91 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1700069358.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x01ce06fce3fd7fe29ae1b76293ba14cb974e1b6a8d889f972dfa0e1ab027c930", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x01ce06fce3fd7fe29ae1b76293ba14cb974e1b6a8d889f972dfa0e1ab027c930", + "transactionIndex": "0x27", + "blockHash": "0xdcb4acc31baf312e77795bd3dbddd188e39331295330fbf4f983d05845e95193", + "blockNumber": "0x11b7d5b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b2efa", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xba43b7400" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069358, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-latest.json b/broadcast/DeploySessionKey.s.sol/1/run-latest.json new file mode 100644 index 00000000..d3e92c91 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x01ce06fce3fd7fe29ae1b76293ba14cb974e1b6a8d889f972dfa0e1ab027c930", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x24", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x01ce06fce3fd7fe29ae1b76293ba14cb974e1b6a8d889f972dfa0e1ab027c930", + "transactionIndex": "0x27", + "blockHash": "0xdcb4acc31baf312e77795bd3dbddd188e39331295330fbf4f983d05845e95193", + "blockNumber": "0x11b7d5b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b2efa", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xba43b7400" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069358, + "chain": 1, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10/run-1700068064.json b/broadcast/DeploySessionKey.s.sol/10/run-1700068064.json new file mode 100644 index 00000000..cc16e54a --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10/run-1700068064.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xdd5b2eff1815b82d2e39380a7b0ef3db15664acafe0fdc6634c8cb2de6977993", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xdd5b2eff1815b82d2e39380a7b0ef3db15664acafe0fdc6634c8cb2de6977993" + ], + "returns": {}, + "timestamp": 1700068064, + "chain": 10, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10/run-1700068070.json b/broadcast/DeploySessionKey.s.sol/10/run-1700068070.json new file mode 100644 index 00000000..e0d0bf5c --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10/run-1700068070.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0xdd5b2eff1815b82d2e39380a7b0ef3db15664acafe0fdc6634c8cb2de6977993", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xdd5b2eff1815b82d2e39380a7b0ef3db15664acafe0fdc6634c8cb2de6977993", + "transactionIndex": "0x6", + "blockHash": "0x6bbc410ca090e8a06cd39744e9a9f4c884eb691f9713c195c49935810036ee72", + "blockNumber": "0x6b09094", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x43b072", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x915819" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068070, + "chain": 10, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10/run-latest.json b/broadcast/DeploySessionKey.s.sol/10/run-latest.json new file mode 100644 index 00000000..e0d0bf5c --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10/run-latest.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0xdd5b2eff1815b82d2e39380a7b0ef3db15664acafe0fdc6634c8cb2de6977993", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xdd5b2eff1815b82d2e39380a7b0ef3db15664acafe0fdc6634c8cb2de6977993", + "transactionIndex": "0x6", + "blockHash": "0x6bbc410ca090e8a06cd39744e9a9f4c884eb691f9713c195c49935810036ee72", + "blockNumber": "0x6b09094", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x43b072", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x915819" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068070, + "chain": 10, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/100/run-1700068557.json b/broadcast/DeploySessionKey.s.sol/100/run-1700068557.json new file mode 100644 index 00000000..4b8027ec --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/100/run-1700068557.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x1403af06c7d855d2205a1916af3ab25948478b7b2fc67ab4ed28054bf7d2e0a0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x1403af06c7d855d2205a1916af3ab25948478b7b2fc67ab4ed28054bf7d2e0a0" + ], + "returns": {}, + "timestamp": 1700068557, + "chain": 100, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/100/run-1700068564.json b/broadcast/DeploySessionKey.s.sol/100/run-1700068564.json new file mode 100644 index 00000000..5a11f3a8 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/100/run-1700068564.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x1403af06c7d855d2205a1916af3ab25948478b7b2fc67ab4ed28054bf7d2e0a0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x1403af06c7d855d2205a1916af3ab25948478b7b2fc67ab4ed28054bf7d2e0a0", + "transactionIndex": "0x7", + "blockHash": "0xc673a25012302bb446269db2967a462548d9783f2d7318c5237fb11635824fd6", + "blockNumber": "0x1d882a0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1c048a", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x2ba415f2e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068564, + "chain": 100, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/100/run-latest.json b/broadcast/DeploySessionKey.s.sol/100/run-latest.json new file mode 100644 index 00000000..5a11f3a8 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/100/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x1403af06c7d855d2205a1916af3ab25948478b7b2fc67ab4ed28054bf7d2e0a0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x1403af06c7d855d2205a1916af3ab25948478b7b2fc67ab4ed28054bf7d2e0a0", + "transactionIndex": "0x7", + "blockHash": "0xc673a25012302bb446269db2967a462548d9783f2d7318c5237fb11635824fd6", + "blockNumber": "0x1d882a0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1c048a", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x2ba415f2e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068564, + "chain": 100, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10200/run-1700068625.json b/broadcast/DeploySessionKey.s.sol/10200/run-1700068625.json new file mode 100644 index 00000000..18edd78b --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10200/run-1700068625.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xbe4bba0dc48787f5b2faeeb3c03b083771b920ac8e47cdc91711ee8d6580b466", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xbe4bba0dc48787f5b2faeeb3c03b083771b920ac8e47cdc91711ee8d6580b466" + ], + "returns": {}, + "timestamp": 1700068625, + "chain": 10200, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10200/run-1700068638.json b/broadcast/DeploySessionKey.s.sol/10200/run-1700068638.json new file mode 100644 index 00000000..7284a916 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10200/run-1700068638.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xbe4bba0dc48787f5b2faeeb3c03b083771b920ac8e47cdc91711ee8d6580b466", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xbe4bba0dc48787f5b2faeeb3c03b083771b920ac8e47cdc91711ee8d6580b466", + "transactionIndex": "0x0", + "blockHash": "0x115179ebc6650beae3976bcf3d37cb298e728b5754444ce0c7b65f6f7af6e119", + "blockNumber": "0x6aad1e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12f12a", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068638, + "chain": 10200, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10200/run-latest.json b/broadcast/DeploySessionKey.s.sol/10200/run-latest.json new file mode 100644 index 00000000..7284a916 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10200/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xbe4bba0dc48787f5b2faeeb3c03b083771b920ac8e47cdc91711ee8d6580b466", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xbe4bba0dc48787f5b2faeeb3c03b083771b920ac8e47cdc91711ee8d6580b466", + "transactionIndex": "0x0", + "blockHash": "0x115179ebc6650beae3976bcf3d37cb298e728b5754444ce0c7b65f6f7af6e119", + "blockNumber": "0x6aad1e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12f12a", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068638, + "chain": 10200, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155111/run-1700069563.json b/broadcast/DeploySessionKey.s.sol/11155111/run-1700069563.json new file mode 100644 index 00000000..999ae9f7 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/11155111/run-1700069563.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x7d2d9ca4e0894e8cc8540d37d16ffedd7fe5eb40964733847f7a4969fcdfaba5", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x7d2d9ca4e0894e8cc8540d37d16ffedd7fe5eb40964733847f7a4969fcdfaba5" + ], + "returns": {}, + "timestamp": 1700069563, + "chain": 11155111, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155111/run-1700069570.json b/broadcast/DeploySessionKey.s.sol/11155111/run-1700069570.json new file mode 100644 index 00000000..6fe47196 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/11155111/run-1700069570.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x7d2d9ca4e0894e8cc8540d37d16ffedd7fe5eb40964733847f7a4969fcdfaba5", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7d2d9ca4e0894e8cc8540d37d16ffedd7fe5eb40964733847f7a4969fcdfaba5", + "transactionIndex": "0x5", + "blockHash": "0x7bd66a69c09ee4c4eb7145d06305a782708a7518f424a05818ad87af5cb62c51", + "blockNumber": "0x47b823", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x268a40", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d132f7" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069570, + "chain": 11155111, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155111/run-latest.json b/broadcast/DeploySessionKey.s.sol/11155111/run-latest.json new file mode 100644 index 00000000..6fe47196 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/11155111/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x7d2d9ca4e0894e8cc8540d37d16ffedd7fe5eb40964733847f7a4969fcdfaba5", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7d2d9ca4e0894e8cc8540d37d16ffedd7fe5eb40964733847f7a4969fcdfaba5", + "transactionIndex": "0x5", + "blockHash": "0x7bd66a69c09ee4c4eb7145d06305a782708a7518f424a05818ad87af5cb62c51", + "blockNumber": "0x47b823", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x268a40", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d132f7" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069570, + "chain": 11155111, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/137/run-1700067075.json b/broadcast/DeploySessionKey.s.sol/137/run-1700067075.json new file mode 100644 index 00000000..ff2915a8 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/137/run-1700067075.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67" + ], + "returns": {}, + "timestamp": 1700067075, + "chain": 137, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/137/run-1700067082.json b/broadcast/DeploySessionKey.s.sol/137/run-1700067082.json new file mode 100644 index 00000000..be1f016f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/137/run-1700067082.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", + "transactionIndex": "0xcd", + "blockHash": "0xa655cec252f25505029f0949ab3a00cb133802830f1fde9f5ea563b8ae4096bd", + "blockNumber": "0x2faa462", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13243e6", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" + ], + "data": "0x00000000000000000000000000000000000000000000000000757c63251c8e8000000000000000000000000000000000000000000000001749c57f8742d9baa40000000000000000000000000000000000000000000002a63983cbb4278ceda4000000000000000000000000000000000000000000000017495003241dbd2c240000000000000000000000000000000000000000000002a639f948174ca97c24", + "blockHash": "0xa655cec252f25505029f0949ab3a00cb133802830f1fde9f5ea563b8ae4096bd", + "blockNumber": "0x2faa462", + "transactionHash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", + "transactionIndex": "0xcd", + "logIndex": "0x250", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000008000000000000000000000000000000080000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000080000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x33f369e24f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700067082, + "chain": 137, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/137/run-latest.json b/broadcast/DeploySessionKey.s.sol/137/run-latest.json new file mode 100644 index 00000000..be1f016f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/137/run-latest.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", + "transactionIndex": "0xcd", + "blockHash": "0xa655cec252f25505029f0949ab3a00cb133802830f1fde9f5ea563b8ae4096bd", + "blockNumber": "0x2faa462", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13243e6", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" + ], + "data": "0x00000000000000000000000000000000000000000000000000757c63251c8e8000000000000000000000000000000000000000000000001749c57f8742d9baa40000000000000000000000000000000000000000000002a63983cbb4278ceda4000000000000000000000000000000000000000000000017495003241dbd2c240000000000000000000000000000000000000000000002a639f948174ca97c24", + "blockHash": "0xa655cec252f25505029f0949ab3a00cb133802830f1fde9f5ea563b8ae4096bd", + "blockNumber": "0x2faa462", + "transactionHash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", + "transactionIndex": "0xcd", + "logIndex": "0x250", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000008000000000000000000000000000000080000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000080000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x33f369e24f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700067082, + "chain": 137, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/204/run-1700068288.json b/broadcast/DeploySessionKey.s.sol/204/run-1700068288.json new file mode 100644 index 00000000..e010ca0c --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/204/run-1700068288.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x5e406fc624a1a239b1152bfc0df2b74ec3151806dfda51d4316f82463899879b", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x5e406fc624a1a239b1152bfc0df2b74ec3151806dfda51d4316f82463899879b" + ], + "returns": {}, + "timestamp": 1700068288, + "chain": 204, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/204/run-1700068295.json b/broadcast/DeploySessionKey.s.sol/204/run-1700068295.json new file mode 100644 index 00000000..35744760 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/204/run-1700068295.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x5e406fc624a1a239b1152bfc0df2b74ec3151806dfda51d4316f82463899879b", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5e406fc624a1a239b1152bfc0df2b74ec3151806dfda51d4316f82463899879b", + "transactionIndex": "0x1", + "blockHash": "0x48fd41f3c4a4dec6c211f5f633c2c899c3c91f0202dff02f3d06736fb621428c", + "blockNumber": "0x7edec7", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13a711", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068295, + "chain": 204, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/204/run-latest.json b/broadcast/DeploySessionKey.s.sol/204/run-latest.json new file mode 100644 index 00000000..35744760 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/204/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x5e406fc624a1a239b1152bfc0df2b74ec3151806dfda51d4316f82463899879b", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5e406fc624a1a239b1152bfc0df2b74ec3151806dfda51d4316f82463899879b", + "transactionIndex": "0x1", + "blockHash": "0x48fd41f3c4a4dec6c211f5f633c2c899c3c91f0202dff02f3d06736fb621428c", + "blockNumber": "0x7edec7", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13a711", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068295, + "chain": 204, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/420/run-1700068033.json b/broadcast/DeploySessionKey.s.sol/420/run-1700068033.json new file mode 100644 index 00000000..f24ccbe0 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/420/run-1700068033.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x19789dbd276297c92cf68c9c7eb79566468759aefba1021406656949da196135", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x19789dbd276297c92cf68c9c7eb79566468759aefba1021406656949da196135" + ], + "returns": {}, + "timestamp": 1700068033, + "chain": 420, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/420/run-1700068040.json b/broadcast/DeploySessionKey.s.sol/420/run-1700068040.json new file mode 100644 index 00000000..0bf02de9 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/420/run-1700068040.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x19789dbd276297c92cf68c9c7eb79566468759aefba1021406656949da196135", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x19789dbd276297c92cf68c9c7eb79566468759aefba1021406656949da196135", + "transactionIndex": "0x1", + "blockHash": "0xadb68f3c3733ed923b8b5c572df246c6bdf57db9a6a792b512673a3dcfe24155", + "blockNumber": "0x1084830", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13a83b", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068040, + "chain": 420, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/420/run-latest.json b/broadcast/DeploySessionKey.s.sol/420/run-latest.json new file mode 100644 index 00000000..0bf02de9 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/420/run-latest.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x19789dbd276297c92cf68c9c7eb79566468759aefba1021406656949da196135", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1c" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x19789dbd276297c92cf68c9c7eb79566468759aefba1021406656949da196135", + "transactionIndex": "0x1", + "blockHash": "0xadb68f3c3733ed923b8b5c572df246c6bdf57db9a6a792b512673a3dcfe24155", + "blockNumber": "0x1084830", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13a83b", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xf433c" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068040, + "chain": 420, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/42161/run-1700068004.json b/broadcast/DeploySessionKey.s.sol/42161/run-1700068004.json new file mode 100644 index 00000000..810de76f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/42161/run-1700068004.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x2a19bba631e6a261cbeeaef1f9b9d3b17c48175f8dbe14da5750102acab46625", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a3ddbd", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x18" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x2a19bba631e6a261cbeeaef1f9b9d3b17c48175f8dbe14da5750102acab46625", + "transactionIndex": "0x1", + "blockHash": "0x6ceb31216701851ec406773d708820bf7b1cb7e0c8f6aefae67e20f4475be888", + "blockNumber": "0x8fbca9a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x121d95d", + "gasUsed": "0x121d95d", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068004, + "chain": 42161, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/42161/run-latest.json b/broadcast/DeploySessionKey.s.sol/42161/run-latest.json new file mode 100644 index 00000000..810de76f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/42161/run-latest.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x2a19bba631e6a261cbeeaef1f9b9d3b17c48175f8dbe14da5750102acab46625", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a3ddbd", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x18" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x2a19bba631e6a261cbeeaef1f9b9d3b17c48175f8dbe14da5750102acab46625", + "transactionIndex": "0x1", + "blockHash": "0x6ceb31216701851ec406773d708820bf7b1cb7e0c8f6aefae67e20f4475be888", + "blockNumber": "0x8fbca9a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x121d95d", + "gasUsed": "0x121d95d", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068004, + "chain": 42161, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421613/run-1700067964.json b/broadcast/DeploySessionKey.s.sol/421613/run-1700067964.json new file mode 100644 index 00000000..f9f58a7f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421613/run-1700067964.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x7bfc62b0ec2ed695ea0de91f5e847e28c5edb9e34c3d50006dfffcab79c7e059", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x18f677", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7bfc62b0ec2ed695ea0de91f5e847e28c5edb9e34c3d50006dfffcab79c7e059", + "transactionIndex": "0x2", + "blockHash": "0x4d960ffb2c354fd3dfdf23be96e955b5623c1c365bb74879137b8218cd98feee", + "blockNumber": "0x34a176e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x17f58b", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700067964, + "chain": 421613, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421613/run-latest.json b/broadcast/DeploySessionKey.s.sol/421613/run-latest.json new file mode 100644 index 00000000..f9f58a7f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421613/run-latest.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x7bfc62b0ec2ed695ea0de91f5e847e28c5edb9e34c3d50006dfffcab79c7e059", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x18f677", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1a" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7bfc62b0ec2ed695ea0de91f5e847e28c5edb9e34c3d50006dfffcab79c7e059", + "transactionIndex": "0x2", + "blockHash": "0x4d960ffb2c354fd3dfdf23be96e955b5623c1c365bb74879137b8218cd98feee", + "blockNumber": "0x34a176e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x17f58b", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700067964, + "chain": 421613, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43113/run-1700068145.json b/broadcast/DeploySessionKey.s.sol/43113/run-1700068145.json new file mode 100644 index 00000000..6fb1ec0d --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43113/run-1700068145.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x820a9a8723687e9314695a8e8cd9367b9c0ea90ca117a5c3808b78c255385a66", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x820a9a8723687e9314695a8e8cd9367b9c0ea90ca117a5c3808b78c255385a66" + ], + "returns": {}, + "timestamp": 1700068145, + "chain": 43113, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43113/run-1700068152.json b/broadcast/DeploySessionKey.s.sol/43113/run-1700068152.json new file mode 100644 index 00000000..7fd08e7a --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43113/run-1700068152.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x820a9a8723687e9314695a8e8cd9367b9c0ea90ca117a5c3808b78c255385a66", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x820a9a8723687e9314695a8e8cd9367b9c0ea90ca117a5c3808b78c255385a66", + "transactionIndex": "0x0", + "blockHash": "0xdeda85e4c9580462bf2b50877f59e295e944a57bde51e85549d9d36eaa82e145", + "blockNumber": "0x1a7a33e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12efd0", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068152, + "chain": 43113, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43113/run-latest.json b/broadcast/DeploySessionKey.s.sol/43113/run-latest.json new file mode 100644 index 00000000..7fd08e7a --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43113/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x820a9a8723687e9314695a8e8cd9367b9c0ea90ca117a5c3808b78c255385a66", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x18", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x820a9a8723687e9314695a8e8cd9367b9c0ea90ca117a5c3808b78c255385a66", + "transactionIndex": "0x0", + "blockHash": "0xdeda85e4c9580462bf2b50877f59e295e944a57bde51e85549d9d36eaa82e145", + "blockNumber": "0x1a7a33e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12efd0", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068152, + "chain": 43113, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43114/run-1700068109.json b/broadcast/DeploySessionKey.s.sol/43114/run-1700068109.json new file mode 100644 index 00000000..f706f1fa --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43114/run-1700068109.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x53f56a8f7448559c802e9aa5263689779d17c1fb687f36e0850ff63baa1e9a3c", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x53f56a8f7448559c802e9aa5263689779d17c1fb687f36e0850ff63baa1e9a3c" + ], + "returns": {}, + "timestamp": 1700068109, + "chain": 43114, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43114/run-1700068122.json b/broadcast/DeploySessionKey.s.sol/43114/run-1700068122.json new file mode 100644 index 00000000..9babe603 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43114/run-1700068122.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x53f56a8f7448559c802e9aa5263689779d17c1fb687f36e0850ff63baa1e9a3c", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x53f56a8f7448559c802e9aa5263689779d17c1fb687f36e0850ff63baa1e9a3c", + "transactionIndex": "0x2", + "blockHash": "0x18f02e9e53c9ffc50d894eca75932a7e9d559697909d546d6fe8f49a0b446190", + "blockNumber": "0x240d7f2", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x179d27", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068122, + "chain": 43114, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43114/run-latest.json b/broadcast/DeploySessionKey.s.sol/43114/run-latest.json new file mode 100644 index 00000000..9babe603 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43114/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x53f56a8f7448559c802e9aa5263689779d17c1fb687f36e0850ff63baa1e9a3c", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x53f56a8f7448559c802e9aa5263689779d17c1fb687f36e0850ff63baa1e9a3c", + "transactionIndex": "0x2", + "blockHash": "0x18f02e9e53c9ffc50d894eca75932a7e9d559697909d546d6fe8f49a0b446190", + "blockNumber": "0x240d7f2", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x179d27", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068122, + "chain": 43114, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/5/run-1700069042.json b/broadcast/DeploySessionKey.s.sol/5/run-1700069042.json new file mode 100644 index 00000000..1975eaea --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/5/run-1700069042.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x547b2b8dbcce523327c129d3d333bbe0eb40d6dfd2ad346cb32e76ee4145073e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x5d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x547b2b8dbcce523327c129d3d333bbe0eb40d6dfd2ad346cb32e76ee4145073e" + ], + "returns": {}, + "timestamp": 1700069042, + "chain": 5, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/5/run-1700069055.json b/broadcast/DeploySessionKey.s.sol/5/run-1700069055.json new file mode 100644 index 00000000..d636b04a --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/5/run-1700069055.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x547b2b8dbcce523327c129d3d333bbe0eb40d6dfd2ad346cb32e76ee4145073e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x5d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x547b2b8dbcce523327c129d3d333bbe0eb40d6dfd2ad346cb32e76ee4145073e", + "transactionIndex": "0x2", + "blockHash": "0xf720de92c15a01d3e47e3820420dbbef457c49afad3e0236b0fa26346d965833", + "blockNumber": "0x9955de", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x232dd5", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069055, + "chain": 5, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/5/run-latest.json b/broadcast/DeploySessionKey.s.sol/5/run-latest.json new file mode 100644 index 00000000..d636b04a --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/5/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x547b2b8dbcce523327c129d3d333bbe0eb40d6dfd2ad346cb32e76ee4145073e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x5d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x547b2b8dbcce523327c129d3d333bbe0eb40d6dfd2ad346cb32e76ee4145073e", + "transactionIndex": "0x2", + "blockHash": "0xf720de92c15a01d3e47e3820420dbbef457c49afad3e0236b0fa26346d965833", + "blockNumber": "0x9955de", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x232dd5", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0b" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700069055, + "chain": 5, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/56/run-1700068415.json b/broadcast/DeploySessionKey.s.sol/56/run-1700068415.json new file mode 100644 index 00000000..558e48cb --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/56/run-1700068415.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x808070c3077438a70806d63793a87efe5127d92bd76e659fed8293efa710c4ea", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x808070c3077438a70806d63793a87efe5127d92bd76e659fed8293efa710c4ea" + ], + "returns": {}, + "timestamp": 1700068415, + "chain": 56, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/56/run-1700068422.json b/broadcast/DeploySessionKey.s.sol/56/run-1700068422.json new file mode 100644 index 00000000..c3083a38 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/56/run-1700068422.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x808070c3077438a70806d63793a87efe5127d92bd76e659fed8293efa710c4ea", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x808070c3077438a70806d63793a87efe5127d92bd76e659fed8293efa710c4ea", + "transactionIndex": "0x7", + "blockHash": "0xcb9714b030051a74f2ec4b955e906448033208a3de5b2855384583930f3fe4db", + "blockNumber": "0x1ff794c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1ba9ff", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068422, + "chain": 56, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/56/run-latest.json b/broadcast/DeploySessionKey.s.sol/56/run-latest.json new file mode 100644 index 00000000..c3083a38 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/56/run-latest.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x808070c3077438a70806d63793a87efe5127d92bd76e659fed8293efa710c4ea", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x12" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x808070c3077438a70806d63793a87efe5127d92bd76e659fed8293efa710c4ea", + "transactionIndex": "0x7", + "blockHash": "0xcb9714b030051a74f2ec4b955e906448033208a3de5b2855384583930f3fe4db", + "blockNumber": "0x1ff794c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1ba9ff", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x12a05f200" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068422, + "chain": 56, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59140/run-1699462569.json b/broadcast/DeploySessionKey.s.sol/59140/run-1699462569.json new file mode 100644 index 00000000..f8010ab2 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59140/run-1699462569.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x16a69fc5a2bbbfc916edf953f3dfcde9f356a93780013917dc982ab34d619fcb", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xA232A3C35895180987D8a6B8D58534Ef84eF63c9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2479f9", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657611c87908161001c8239f35b600080fdfe60c06040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b690610606565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c610606565b6100b692506001600160801b0391503384528360205283205416610606565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b957610160908536030112610108575060209261031391016109b4565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b031916179055146105af565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b35906001600160a01b038216820361051857565b606081019081106001600160401b0382111761057857604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761057857604052565b156105b657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600090338252816020526040808320549261063c6001600160801b0394858516868260801c8211928361065d575b5050506105af565b3381528060205220918254916001600160801b03199060801b169116179055565b1610159050388681610634565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b6001600160401b0381116105785760051b60200190565b359063ffffffff8216820361051857565b35906001600160e01b03198216820361051857565b359065ffffffffffff8216820361051857565b92916106f78261069c565b91610705604051938461058e565b829481845260208094019160051b810192831161051857905b82821061072b5750505050565b8135815290830190830161071e565b356001600160a01b03811681036105185790565b1561075557565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156107ad57565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561080b57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b60209182825261012082019063ffffffff610897826106b3565b16838501526001600160a01b036108af828601610549565b16936040948585015263ffffffff60e01b6108cb8684016106c4565b16606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b858410610979575050505050505061097260e065ffffffffffff928361095460a083016106d9565b1660c08701528361096760c083016106d9565b1682870152016106d9565b1691015290565b909192939495998a358152818b013560068110156109b057828201528a84013584820152850199850195949360010192919061092c565b8380fd5b61014081016109c3818361066a565b60149291921161051857813560601c6000526001602052604060002033600052602052604060002060028101938454600060205260406000205460801c10156116d85760018201548060601c600181146000146116535750610a2961012083018361066a565b9050156115ff575b8254156115dc57506060810192610a48848361066a565b6004929192116105185781356001600160e01b031916635194544760e01b8103610c455750610a77908361066a565b605597919711610518576055870135870192605584019760758101350195610a9f818361066a565b60249391931161051857610ad992610ad49060106001600160a01b03610ac760758b0161073a565b1691013560601c1461074e565b61066a565b60449391931161051857610b1a88610b1f92610b06610b6f96602460b5610b529a013591013511156107a6565b604481013501602460048201359101611aa1565b610804565b54610b298761086c565b604080516020810193845260e09290921b6001600160e01b031916908201529283906044820190565b0392610b66601f199485810183528261058e565b5190208661184f565b9260018301549565ffffffffffff938488168086881610610c3b575b5090610bc9915493610bb56040519182610ba960208201958661087d565b0390810183528261058e565b5190209136906075605582013591016106ec565b805180610bf6575b505003610bed57610bea9360301c16913560601c611732565b90565b50505050600190565b9190602080820191600594851b0101915b81518111841b908152602082519118526020604060002091019282841015610c30579290610c07565b509150503880610bd1565b9550610bc9610b8b565b9196509294929350631a7e6adf60e11b036115d257610c64838261066a565b60559491941161051857610c779161066a565b8060a096929652856080528060551161051857850160808682036054190112610518576001600160401b0360558701351161051857607460558701358701011215610518576020610cd06055808801358801013561069c565b610cdd604051918261058e565b6055808801356080510101358152019560a05160805190810160756055808a01358401013560051b60558a0135840101011161051857607590605588949993969801350101925b6080519460558481013587019081013560051b01607501851015611010576001600160401b03853511610518576101006074198635605587013589010160a051890103011261051857604051958660c08101106001600160401b0360c0890111176105785760c08701604052610da5906055860135018635016075016106b3565b8652610dbe609586356055870135608051010101610549565b6020870152610dda60b5863560558701356080510101016106c4565b604087015260d585356055860135608051010101356060870152608051966001600160401b0360f5873560558801358b01010135116105185760a05188016055860135890187350160f581013501609401121561051857610e4d6055860135890187350160f5810135016075013561069c565b98610e5b6040519a8b61058e565b607560f5883560558901358c01010135883560558901358c01010101358a5260208a019360a0518a60958a60f58b60805195860194605560606075858735848701358601010135873584870135860101010135029435920135010101358c3560558d0135860101010101116105185760558801359081018935908101918c010160f5013501609501945b60805160558901358082018b35908101918e010160f581013591820191016075013560600201609501871015610f63578660609160a05101031261051857604051610f2f8161055d565b8635815260066020880135101561051857606091602091828901358382015260408901356040820152815201950194610ee5565b5050969a959991985096919392506080820152606060805161011419908b3560558c01358201019060a051010301126105185760209182918a610ff56101558c605560405194610fb28661055d565b610fc96101158235848601356080510101016106d9565b8652610fe26101358235848601356080510101016106d9565b89870152359101356080510101016106d9565b604082015260a0820152815201970192969093959196610d24565b9594509695925050506080516075810135906001600160401b0382116105185760a0518101908160748483010112156105185761105692016055810135906075016106ec565b936080516001600160401b036095820135116105185760a051810160746095830135830101121561051857611094605560958301358301013561069c565b906110a2604051928361058e565b60556095820135608051010135825260208201906080519060a05182016075605560958401358501013560051b60958401358501010111610518579160756095840135830101925b60958101358301605581013560051b0160750184106115b25750505050608051956001600160401b0360b5880135116105185760a0518701607460b5890135890101121561051857611145605560b58901358901013561069c565b93611153604051958661058e565b60b58801358089016055013580875260a051608051602089019c93909291830190830160059290921b91909101607501116105185760b58a013501607501995b60805160b58b0135908101908b016055013560051b016075018b10156111c3578a35815260209a8b019a01611193565b509193959750919395975060009760005b875181101561121557896111e8828a611a58565b51116111fd575b6111f890611a49565b6111d4565b98506111f861120c8a89611a58565b519990506111ef565b509091929497939660018501851161159c576112336001860161069c565b94611241604051968761058e565b600101808652601f19906112549061069c565b01366020870137823560601c600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169660005b6004808d01358d0101358110156114595760048c01358c013681900360821901600583901b9091016024013512156105185760756055880135880101358110156114435760558701358701368190036101731901600583901b90910160750135121561051857898c611383610b1a61137960758660051b8d60558101350101013560558d01358d01019360248760051b6004830135830101013590600481013501016064602482019161135e6113408461073a565b6001600160a01b038061135560958c0161073a565b1691161461074e565b61137260d5880135604483013511156107a6565b019061066a565b6075850191611aa1565b6113e060028901546113c66113d461139d6075860161086c565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f19810183528261058e565b5190206075830161184f565b65ffffffffffff8c1665ffffffffffff821611611439575b509061142e61142784611434959460405161141e816113c660756020830195018561087d565b51902093611a58565b518b611a58565b52611a49565b61128b565b9a5061142e6113f8565b634e487b7160e01b600052603260045260246000fd5b5094509650969150965085549060009380519084519083519181602001966020019460200196600184018286011415841590156114c4575b505050505050505050156114bc5765ffffffffffff6001610bea94015460301c16913560601c611732565b505050600190565b9091929394959697985061157f575060059692961b8401926040519160005b8260051b810361156d57505060051b81019560051b8601955b8180519360406020830151920193815115611559575b5090602080809493019582811160051b90815218526040600020815201918683101561153e57916114fc565b505093501491601f1901511416388080808080808080611491565b875160209889019891820195509250611512565b602081830181015185830152016114e3565b959650939150508391501802185114388080808080808080611491565b634e487b7160e01b600052601160045260246000fd5b8335151584350361051857602080607593863581520194019391506110ea565b5050505050600190565b9392505050610bea925065ffffffffffff808360301c169216903560601c611732565b60405162461bcd60e51b815260206004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b8061165f575b50610a31565b61166d61012084018461066a565b601411610518573560601c036116835738611659565b60405162461bcd60e51b815260206004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b038211176118285783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d1561181b57606052526001600160a01b039081169116036118145760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c08401826118698261183c565b16611968575061187a60e09161183c565b935b0191816118888461183c565b16611894575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211611954575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556118f69082905460301c169261183c565b16106119045738808061188e565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826119748261183c565b16156119f0576000848152600260205260408120338252602052604081209184835497818916928315156000146119d757506119af9061183c565b1601908482116119545750908360e0939216955b65ffffffffffff191686851617905561187c565b91505060e0949392506119ea915061183c565b956119c3565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b600019811461159c5760010190565b80518210156114435760209160051b010190565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b8082168092036105185782351603611c7d5760005b60808601611add8188611a6c565b9050821015611c7157611af09087611a6c565b821015611c5c5760608202018035808601808711611c47576024808301809211611c34575087106105185783018501356020820135600681101561051857801580611c27575b15611b4957505050505050505050600090565b6001811480611c1a575b15611b6657505050505050505050600090565b6002811480611c0d575b15611b8357505050505050505050600090565b6003811480611c01575b15611ba057505050505050505050600090565b86811480611bf5575b15611bbc57505050505050505050600090565b60058691149283611be8575b505050611bdd57611bd890611a49565b611acf565b505050505050600090565b0135149050388481611bc8565b50858301358211611ba9565b50858301358210611b8d565b5085830135821015611b70565b5085830135821115611b53565b5085830135821415611b36565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x16a69fc5a2bbbfc916edf953f3dfcde9f356a93780013917dc982ab34d619fcb" + ], + "returns": {}, + "timestamp": 1699462569, + "chain": 59140, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59140/run-1699462582.json b/broadcast/DeploySessionKey.s.sol/59140/run-1699462582.json new file mode 100644 index 00000000..d91016d3 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59140/run-1699462582.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x16a69fc5a2bbbfc916edf953f3dfcde9f356a93780013917dc982ab34d619fcb", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xA232A3C35895180987D8a6B8D58534Ef84eF63c9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2479f9", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657611c87908161001c8239f35b600080fdfe60c06040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b690610606565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c610606565b6100b692506001600160801b0391503384528360205283205416610606565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b957610160908536030112610108575060209261031391016109b4565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b031916179055146105af565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b35906001600160a01b038216820361051857565b606081019081106001600160401b0382111761057857604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761057857604052565b156105b657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600090338252816020526040808320549261063c6001600160801b0394858516868260801c8211928361065d575b5050506105af565b3381528060205220918254916001600160801b03199060801b169116179055565b1610159050388681610634565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b6001600160401b0381116105785760051b60200190565b359063ffffffff8216820361051857565b35906001600160e01b03198216820361051857565b359065ffffffffffff8216820361051857565b92916106f78261069c565b91610705604051938461058e565b829481845260208094019160051b810192831161051857905b82821061072b5750505050565b8135815290830190830161071e565b356001600160a01b03811681036105185790565b1561075557565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156107ad57565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561080b57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b60209182825261012082019063ffffffff610897826106b3565b16838501526001600160a01b036108af828601610549565b16936040948585015263ffffffff60e01b6108cb8684016106c4565b16606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b858410610979575050505050505061097260e065ffffffffffff928361095460a083016106d9565b1660c08701528361096760c083016106d9565b1682870152016106d9565b1691015290565b909192939495998a358152818b013560068110156109b057828201528a84013584820152850199850195949360010192919061092c565b8380fd5b61014081016109c3818361066a565b60149291921161051857813560601c6000526001602052604060002033600052602052604060002060028101938454600060205260406000205460801c10156116d85760018201548060601c600181146000146116535750610a2961012083018361066a565b9050156115ff575b8254156115dc57506060810192610a48848361066a565b6004929192116105185781356001600160e01b031916635194544760e01b8103610c455750610a77908361066a565b605597919711610518576055870135870192605584019760758101350195610a9f818361066a565b60249391931161051857610ad992610ad49060106001600160a01b03610ac760758b0161073a565b1691013560601c1461074e565b61066a565b60449391931161051857610b1a88610b1f92610b06610b6f96602460b5610b529a013591013511156107a6565b604481013501602460048201359101611aa1565b610804565b54610b298761086c565b604080516020810193845260e09290921b6001600160e01b031916908201529283906044820190565b0392610b66601f199485810183528261058e565b5190208661184f565b9260018301549565ffffffffffff938488168086881610610c3b575b5090610bc9915493610bb56040519182610ba960208201958661087d565b0390810183528261058e565b5190209136906075605582013591016106ec565b805180610bf6575b505003610bed57610bea9360301c16913560601c611732565b90565b50505050600190565b9190602080820191600594851b0101915b81518111841b908152602082519118526020604060002091019282841015610c30579290610c07565b509150503880610bd1565b9550610bc9610b8b565b9196509294929350631a7e6adf60e11b036115d257610c64838261066a565b60559491941161051857610c779161066a565b8060a096929652856080528060551161051857850160808682036054190112610518576001600160401b0360558701351161051857607460558701358701011215610518576020610cd06055808801358801013561069c565b610cdd604051918261058e565b6055808801356080510101358152019560a05160805190810160756055808a01358401013560051b60558a0135840101011161051857607590605588949993969801350101925b6080519460558481013587019081013560051b01607501851015611010576001600160401b03853511610518576101006074198635605587013589010160a051890103011261051857604051958660c08101106001600160401b0360c0890111176105785760c08701604052610da5906055860135018635016075016106b3565b8652610dbe609586356055870135608051010101610549565b6020870152610dda60b5863560558701356080510101016106c4565b604087015260d585356055860135608051010101356060870152608051966001600160401b0360f5873560558801358b01010135116105185760a05188016055860135890187350160f581013501609401121561051857610e4d6055860135890187350160f5810135016075013561069c565b98610e5b6040519a8b61058e565b607560f5883560558901358c01010135883560558901358c01010101358a5260208a019360a0518a60958a60f58b60805195860194605560606075858735848701358601010135873584870135860101010135029435920135010101358c3560558d0135860101010101116105185760558801359081018935908101918c010160f5013501609501945b60805160558901358082018b35908101918e010160f581013591820191016075013560600201609501871015610f63578660609160a05101031261051857604051610f2f8161055d565b8635815260066020880135101561051857606091602091828901358382015260408901356040820152815201950194610ee5565b5050969a959991985096919392506080820152606060805161011419908b3560558c01358201019060a051010301126105185760209182918a610ff56101558c605560405194610fb28661055d565b610fc96101158235848601356080510101016106d9565b8652610fe26101358235848601356080510101016106d9565b89870152359101356080510101016106d9565b604082015260a0820152815201970192969093959196610d24565b9594509695925050506080516075810135906001600160401b0382116105185760a0518101908160748483010112156105185761105692016055810135906075016106ec565b936080516001600160401b036095820135116105185760a051810160746095830135830101121561051857611094605560958301358301013561069c565b906110a2604051928361058e565b60556095820135608051010135825260208201906080519060a05182016075605560958401358501013560051b60958401358501010111610518579160756095840135830101925b60958101358301605581013560051b0160750184106115b25750505050608051956001600160401b0360b5880135116105185760a0518701607460b5890135890101121561051857611145605560b58901358901013561069c565b93611153604051958661058e565b60b58801358089016055013580875260a051608051602089019c93909291830190830160059290921b91909101607501116105185760b58a013501607501995b60805160b58b0135908101908b016055013560051b016075018b10156111c3578a35815260209a8b019a01611193565b509193959750919395975060009760005b875181101561121557896111e8828a611a58565b51116111fd575b6111f890611a49565b6111d4565b98506111f861120c8a89611a58565b519990506111ef565b509091929497939660018501851161159c576112336001860161069c565b94611241604051968761058e565b600101808652601f19906112549061069c565b01366020870137823560601c600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169660005b6004808d01358d0101358110156114595760048c01358c013681900360821901600583901b9091016024013512156105185760756055880135880101358110156114435760558701358701368190036101731901600583901b90910160750135121561051857898c611383610b1a61137960758660051b8d60558101350101013560558d01358d01019360248760051b6004830135830101013590600481013501016064602482019161135e6113408461073a565b6001600160a01b038061135560958c0161073a565b1691161461074e565b61137260d5880135604483013511156107a6565b019061066a565b6075850191611aa1565b6113e060028901546113c66113d461139d6075860161086c565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f19810183528261058e565b5190206075830161184f565b65ffffffffffff8c1665ffffffffffff821611611439575b509061142e61142784611434959460405161141e816113c660756020830195018561087d565b51902093611a58565b518b611a58565b52611a49565b61128b565b9a5061142e6113f8565b634e487b7160e01b600052603260045260246000fd5b5094509650969150965085549060009380519084519083519181602001966020019460200196600184018286011415841590156114c4575b505050505050505050156114bc5765ffffffffffff6001610bea94015460301c16913560601c611732565b505050600190565b9091929394959697985061157f575060059692961b8401926040519160005b8260051b810361156d57505060051b81019560051b8601955b8180519360406020830151920193815115611559575b5090602080809493019582811160051b90815218526040600020815201918683101561153e57916114fc565b505093501491601f1901511416388080808080808080611491565b875160209889019891820195509250611512565b602081830181015185830152016114e3565b959650939150508391501802185114388080808080808080611491565b634e487b7160e01b600052601160045260246000fd5b8335151584350361051857602080607593863581520194019391506110ea565b5050505050600190565b9392505050610bea925065ffffffffffff808360301c169216903560601c611732565b60405162461bcd60e51b815260206004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b8061165f575b50610a31565b61166d61012084018461066a565b601411610518573560601c036116835738611659565b60405162461bcd60e51b815260206004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b038211176118285783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d1561181b57606052526001600160a01b039081169116036118145760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c08401826118698261183c565b16611968575061187a60e09161183c565b935b0191816118888461183c565b16611894575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211611954575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556118f69082905460301c169261183c565b16106119045738808061188e565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826119748261183c565b16156119f0576000848152600260205260408120338252602052604081209184835497818916928315156000146119d757506119af9061183c565b1601908482116119545750908360e0939216955b65ffffffffffff191686851617905561187c565b91505060e0949392506119ea915061183c565b956119c3565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b600019811461159c5760010190565b80518210156114435760209160051b010190565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b8082168092036105185782351603611c7d5760005b60808601611add8188611a6c565b9050821015611c7157611af09087611a6c565b821015611c5c5760608202018035808601808711611c47576024808301809211611c34575087106105185783018501356020820135600681101561051857801580611c27575b15611b4957505050505050505050600090565b6001811480611c1a575b15611b6657505050505050505050600090565b6002811480611c0d575b15611b8357505050505050505050600090565b6003811480611c01575b15611ba057505050505050505050600090565b86811480611bf5575b15611bbc57505050505050505050600090565b60058691149283611be8575b505050611bdd57611bd890611a49565b611acf565b505050505050600090565b0135149050388481611bc8565b50858301358211611ba9565b50858301358210611b8d565b5085830135821015611b70565b5085830135821115611b53565b5085830135821415611b36565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x16a69fc5a2bbbfc916edf953f3dfcde9f356a93780013917dc982ab34d619fcb", + "transactionIndex": "0x0", + "blockHash": "0x1e2cb8b00bb23858b807493dd726de14adc3bdd2ee1f71a5ca791786b7ddb0ba", + "blockNumber": "0x1d84a0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x18f0f1", + "gasUsed": "0x18f0f1", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699462582, + "chain": 59140, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59140/run-1700066889.json b/broadcast/DeploySessionKey.s.sol/59140/run-1700066889.json new file mode 100644 index 00000000..e4e6ae84 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59140/run-1700066889.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x13f23530f055eec8444432875bcfef912c53176b36f207152cdd760f2140859e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x13f23530f055eec8444432875bcfef912c53176b36f207152cdd760f2140859e" + ], + "returns": {}, + "timestamp": 1700066889, + "chain": 59140, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59140/run-1700066895.json b/broadcast/DeploySessionKey.s.sol/59140/run-1700066895.json new file mode 100644 index 00000000..b2a92f54 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59140/run-1700066895.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x13f23530f055eec8444432875bcfef912c53176b36f207152cdd760f2140859e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x13f23530f055eec8444432875bcfef912c53176b36f207152cdd760f2140859e", + "transactionIndex": "0x1", + "blockHash": "0x3b87df0a7223d6825eede06c6e043049c45ae6942f8d2ff7a2241582c1410809", + "blockNumber": "0x1ea839", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1341d8", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066895, + "chain": 59140, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59140/run-latest.json b/broadcast/DeploySessionKey.s.sol/59140/run-latest.json new file mode 100644 index 00000000..b2a92f54 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59140/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x13f23530f055eec8444432875bcfef912c53176b36f207152cdd760f2140859e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x13f23530f055eec8444432875bcfef912c53176b36f207152cdd760f2140859e", + "transactionIndex": "0x1", + "blockHash": "0x3b87df0a7223d6825eede06c6e043049c45ae6942f8d2ff7a2241582c1410809", + "blockNumber": "0x1ea839", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1341d8", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066895, + "chain": 59140, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-1699461129.json b/broadcast/DeploySessionKey.s.sol/59144/run-1699461129.json new file mode 100644 index 00000000..aa93768e --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59144/run-1699461129.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xf9cb56fc77876fa87ef886bfe3509b889a7b88430ada1038a3d446d9ee638c9a", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xA232A3C35895180987D8a6B8D58534Ef84eF63c9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2479f9", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657611c87908161001c8239f35b600080fdfe60c06040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b690610606565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c610606565b6100b692506001600160801b0391503384528360205283205416610606565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b957610160908536030112610108575060209261031391016109b4565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b031916179055146105af565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b35906001600160a01b038216820361051857565b606081019081106001600160401b0382111761057857604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761057857604052565b156105b657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600090338252816020526040808320549261063c6001600160801b0394858516868260801c8211928361065d575b5050506105af565b3381528060205220918254916001600160801b03199060801b169116179055565b1610159050388681610634565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b6001600160401b0381116105785760051b60200190565b359063ffffffff8216820361051857565b35906001600160e01b03198216820361051857565b359065ffffffffffff8216820361051857565b92916106f78261069c565b91610705604051938461058e565b829481845260208094019160051b810192831161051857905b82821061072b5750505050565b8135815290830190830161071e565b356001600160a01b03811681036105185790565b1561075557565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156107ad57565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561080b57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b60209182825261012082019063ffffffff610897826106b3565b16838501526001600160a01b036108af828601610549565b16936040948585015263ffffffff60e01b6108cb8684016106c4565b16606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b858410610979575050505050505061097260e065ffffffffffff928361095460a083016106d9565b1660c08701528361096760c083016106d9565b1682870152016106d9565b1691015290565b909192939495998a358152818b013560068110156109b057828201528a84013584820152850199850195949360010192919061092c565b8380fd5b61014081016109c3818361066a565b60149291921161051857813560601c6000526001602052604060002033600052602052604060002060028101938454600060205260406000205460801c10156116d85760018201548060601c600181146000146116535750610a2961012083018361066a565b9050156115ff575b8254156115dc57506060810192610a48848361066a565b6004929192116105185781356001600160e01b031916635194544760e01b8103610c455750610a77908361066a565b605597919711610518576055870135870192605584019760758101350195610a9f818361066a565b60249391931161051857610ad992610ad49060106001600160a01b03610ac760758b0161073a565b1691013560601c1461074e565b61066a565b60449391931161051857610b1a88610b1f92610b06610b6f96602460b5610b529a013591013511156107a6565b604481013501602460048201359101611aa1565b610804565b54610b298761086c565b604080516020810193845260e09290921b6001600160e01b031916908201529283906044820190565b0392610b66601f199485810183528261058e565b5190208661184f565b9260018301549565ffffffffffff938488168086881610610c3b575b5090610bc9915493610bb56040519182610ba960208201958661087d565b0390810183528261058e565b5190209136906075605582013591016106ec565b805180610bf6575b505003610bed57610bea9360301c16913560601c611732565b90565b50505050600190565b9190602080820191600594851b0101915b81518111841b908152602082519118526020604060002091019282841015610c30579290610c07565b509150503880610bd1565b9550610bc9610b8b565b9196509294929350631a7e6adf60e11b036115d257610c64838261066a565b60559491941161051857610c779161066a565b8060a096929652856080528060551161051857850160808682036054190112610518576001600160401b0360558701351161051857607460558701358701011215610518576020610cd06055808801358801013561069c565b610cdd604051918261058e565b6055808801356080510101358152019560a05160805190810160756055808a01358401013560051b60558a0135840101011161051857607590605588949993969801350101925b6080519460558481013587019081013560051b01607501851015611010576001600160401b03853511610518576101006074198635605587013589010160a051890103011261051857604051958660c08101106001600160401b0360c0890111176105785760c08701604052610da5906055860135018635016075016106b3565b8652610dbe609586356055870135608051010101610549565b6020870152610dda60b5863560558701356080510101016106c4565b604087015260d585356055860135608051010101356060870152608051966001600160401b0360f5873560558801358b01010135116105185760a05188016055860135890187350160f581013501609401121561051857610e4d6055860135890187350160f5810135016075013561069c565b98610e5b6040519a8b61058e565b607560f5883560558901358c01010135883560558901358c01010101358a5260208a019360a0518a60958a60f58b60805195860194605560606075858735848701358601010135873584870135860101010135029435920135010101358c3560558d0135860101010101116105185760558801359081018935908101918c010160f5013501609501945b60805160558901358082018b35908101918e010160f581013591820191016075013560600201609501871015610f63578660609160a05101031261051857604051610f2f8161055d565b8635815260066020880135101561051857606091602091828901358382015260408901356040820152815201950194610ee5565b5050969a959991985096919392506080820152606060805161011419908b3560558c01358201019060a051010301126105185760209182918a610ff56101558c605560405194610fb28661055d565b610fc96101158235848601356080510101016106d9565b8652610fe26101358235848601356080510101016106d9565b89870152359101356080510101016106d9565b604082015260a0820152815201970192969093959196610d24565b9594509695925050506080516075810135906001600160401b0382116105185760a0518101908160748483010112156105185761105692016055810135906075016106ec565b936080516001600160401b036095820135116105185760a051810160746095830135830101121561051857611094605560958301358301013561069c565b906110a2604051928361058e565b60556095820135608051010135825260208201906080519060a05182016075605560958401358501013560051b60958401358501010111610518579160756095840135830101925b60958101358301605581013560051b0160750184106115b25750505050608051956001600160401b0360b5880135116105185760a0518701607460b5890135890101121561051857611145605560b58901358901013561069c565b93611153604051958661058e565b60b58801358089016055013580875260a051608051602089019c93909291830190830160059290921b91909101607501116105185760b58a013501607501995b60805160b58b0135908101908b016055013560051b016075018b10156111c3578a35815260209a8b019a01611193565b509193959750919395975060009760005b875181101561121557896111e8828a611a58565b51116111fd575b6111f890611a49565b6111d4565b98506111f861120c8a89611a58565b519990506111ef565b509091929497939660018501851161159c576112336001860161069c565b94611241604051968761058e565b600101808652601f19906112549061069c565b01366020870137823560601c600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169660005b6004808d01358d0101358110156114595760048c01358c013681900360821901600583901b9091016024013512156105185760756055880135880101358110156114435760558701358701368190036101731901600583901b90910160750135121561051857898c611383610b1a61137960758660051b8d60558101350101013560558d01358d01019360248760051b6004830135830101013590600481013501016064602482019161135e6113408461073a565b6001600160a01b038061135560958c0161073a565b1691161461074e565b61137260d5880135604483013511156107a6565b019061066a565b6075850191611aa1565b6113e060028901546113c66113d461139d6075860161086c565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f19810183528261058e565b5190206075830161184f565b65ffffffffffff8c1665ffffffffffff821611611439575b509061142e61142784611434959460405161141e816113c660756020830195018561087d565b51902093611a58565b518b611a58565b52611a49565b61128b565b9a5061142e6113f8565b634e487b7160e01b600052603260045260246000fd5b5094509650969150965085549060009380519084519083519181602001966020019460200196600184018286011415841590156114c4575b505050505050505050156114bc5765ffffffffffff6001610bea94015460301c16913560601c611732565b505050600190565b9091929394959697985061157f575060059692961b8401926040519160005b8260051b810361156d57505060051b81019560051b8601955b8180519360406020830151920193815115611559575b5090602080809493019582811160051b90815218526040600020815201918683101561153e57916114fc565b505093501491601f1901511416388080808080808080611491565b875160209889019891820195509250611512565b602081830181015185830152016114e3565b959650939150508391501802185114388080808080808080611491565b634e487b7160e01b600052601160045260246000fd5b8335151584350361051857602080607593863581520194019391506110ea565b5050505050600190565b9392505050610bea925065ffffffffffff808360301c169216903560601c611732565b60405162461bcd60e51b815260206004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b8061165f575b50610a31565b61166d61012084018461066a565b601411610518573560601c036116835738611659565b60405162461bcd60e51b815260206004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b038211176118285783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d1561181b57606052526001600160a01b039081169116036118145760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c08401826118698261183c565b16611968575061187a60e09161183c565b935b0191816118888461183c565b16611894575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211611954575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556118f69082905460301c169261183c565b16106119045738808061188e565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826119748261183c565b16156119f0576000848152600260205260408120338252602052604081209184835497818916928315156000146119d757506119af9061183c565b1601908482116119545750908360e0939216955b65ffffffffffff191686851617905561187c565b91505060e0949392506119ea915061183c565b956119c3565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b600019811461159c5760010190565b80518210156114435760209160051b010190565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b8082168092036105185782351603611c7d5760005b60808601611add8188611a6c565b9050821015611c7157611af09087611a6c565b821015611c5c5760608202018035808601808711611c47576024808301809211611c34575087106105185783018501356020820135600681101561051857801580611c27575b15611b4957505050505050505050600090565b6001811480611c1a575b15611b6657505050505050505050600090565b6002811480611c0d575b15611b8357505050505050505050600090565b6003811480611c01575b15611ba057505050505050505050600090565b86811480611bf5575b15611bbc57505050505050505050600090565b60058691149283611be8575b505050611bdd57611bd890611a49565b611acf565b505050505050600090565b0135149050388481611bc8565b50858301358211611ba9565b50858301358210611b8d565b5085830135821015611b70565b5085830135821115611b53565b5085830135821415611b36565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xf9cb56fc77876fa87ef886bfe3509b889a7b88430ada1038a3d446d9ee638c9a" + ], + "returns": {}, + "timestamp": 1699461129, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-1699461149.json b/broadcast/DeploySessionKey.s.sol/59144/run-1699461149.json new file mode 100644 index 00000000..ea950f92 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59144/run-1699461149.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xf9cb56fc77876fa87ef886bfe3509b889a7b88430ada1038a3d446d9ee638c9a", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xA232A3C35895180987D8a6B8D58534Ef84eF63c9", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2479f9", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657611c87908161001c8239f35b600080fdfe60c06040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b690610606565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c610606565b6100b692506001600160801b0391503384528360205283205416610606565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b957610160908536030112610108575060209261031391016109b4565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b031916179055146105af565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b35906001600160a01b038216820361051857565b606081019081106001600160401b0382111761057857604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761057857604052565b156105b657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600090338252816020526040808320549261063c6001600160801b0394858516868260801c8211928361065d575b5050506105af565b3381528060205220918254916001600160801b03199060801b169116179055565b1610159050388681610634565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b6001600160401b0381116105785760051b60200190565b359063ffffffff8216820361051857565b35906001600160e01b03198216820361051857565b359065ffffffffffff8216820361051857565b92916106f78261069c565b91610705604051938461058e565b829481845260208094019160051b810192831161051857905b82821061072b5750505050565b8135815290830190830161071e565b356001600160a01b03811681036105185790565b1561075557565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156107ad57565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561080b57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b60209182825261012082019063ffffffff610897826106b3565b16838501526001600160a01b036108af828601610549565b16936040948585015263ffffffff60e01b6108cb8684016106c4565b16606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b858410610979575050505050505061097260e065ffffffffffff928361095460a083016106d9565b1660c08701528361096760c083016106d9565b1682870152016106d9565b1691015290565b909192939495998a358152818b013560068110156109b057828201528a84013584820152850199850195949360010192919061092c565b8380fd5b61014081016109c3818361066a565b60149291921161051857813560601c6000526001602052604060002033600052602052604060002060028101938454600060205260406000205460801c10156116d85760018201548060601c600181146000146116535750610a2961012083018361066a565b9050156115ff575b8254156115dc57506060810192610a48848361066a565b6004929192116105185781356001600160e01b031916635194544760e01b8103610c455750610a77908361066a565b605597919711610518576055870135870192605584019760758101350195610a9f818361066a565b60249391931161051857610ad992610ad49060106001600160a01b03610ac760758b0161073a565b1691013560601c1461074e565b61066a565b60449391931161051857610b1a88610b1f92610b06610b6f96602460b5610b529a013591013511156107a6565b604481013501602460048201359101611aa1565b610804565b54610b298761086c565b604080516020810193845260e09290921b6001600160e01b031916908201529283906044820190565b0392610b66601f199485810183528261058e565b5190208661184f565b9260018301549565ffffffffffff938488168086881610610c3b575b5090610bc9915493610bb56040519182610ba960208201958661087d565b0390810183528261058e565b5190209136906075605582013591016106ec565b805180610bf6575b505003610bed57610bea9360301c16913560601c611732565b90565b50505050600190565b9190602080820191600594851b0101915b81518111841b908152602082519118526020604060002091019282841015610c30579290610c07565b509150503880610bd1565b9550610bc9610b8b565b9196509294929350631a7e6adf60e11b036115d257610c64838261066a565b60559491941161051857610c779161066a565b8060a096929652856080528060551161051857850160808682036054190112610518576001600160401b0360558701351161051857607460558701358701011215610518576020610cd06055808801358801013561069c565b610cdd604051918261058e565b6055808801356080510101358152019560a05160805190810160756055808a01358401013560051b60558a0135840101011161051857607590605588949993969801350101925b6080519460558481013587019081013560051b01607501851015611010576001600160401b03853511610518576101006074198635605587013589010160a051890103011261051857604051958660c08101106001600160401b0360c0890111176105785760c08701604052610da5906055860135018635016075016106b3565b8652610dbe609586356055870135608051010101610549565b6020870152610dda60b5863560558701356080510101016106c4565b604087015260d585356055860135608051010101356060870152608051966001600160401b0360f5873560558801358b01010135116105185760a05188016055860135890187350160f581013501609401121561051857610e4d6055860135890187350160f5810135016075013561069c565b98610e5b6040519a8b61058e565b607560f5883560558901358c01010135883560558901358c01010101358a5260208a019360a0518a60958a60f58b60805195860194605560606075858735848701358601010135873584870135860101010135029435920135010101358c3560558d0135860101010101116105185760558801359081018935908101918c010160f5013501609501945b60805160558901358082018b35908101918e010160f581013591820191016075013560600201609501871015610f63578660609160a05101031261051857604051610f2f8161055d565b8635815260066020880135101561051857606091602091828901358382015260408901356040820152815201950194610ee5565b5050969a959991985096919392506080820152606060805161011419908b3560558c01358201019060a051010301126105185760209182918a610ff56101558c605560405194610fb28661055d565b610fc96101158235848601356080510101016106d9565b8652610fe26101358235848601356080510101016106d9565b89870152359101356080510101016106d9565b604082015260a0820152815201970192969093959196610d24565b9594509695925050506080516075810135906001600160401b0382116105185760a0518101908160748483010112156105185761105692016055810135906075016106ec565b936080516001600160401b036095820135116105185760a051810160746095830135830101121561051857611094605560958301358301013561069c565b906110a2604051928361058e565b60556095820135608051010135825260208201906080519060a05182016075605560958401358501013560051b60958401358501010111610518579160756095840135830101925b60958101358301605581013560051b0160750184106115b25750505050608051956001600160401b0360b5880135116105185760a0518701607460b5890135890101121561051857611145605560b58901358901013561069c565b93611153604051958661058e565b60b58801358089016055013580875260a051608051602089019c93909291830190830160059290921b91909101607501116105185760b58a013501607501995b60805160b58b0135908101908b016055013560051b016075018b10156111c3578a35815260209a8b019a01611193565b509193959750919395975060009760005b875181101561121557896111e8828a611a58565b51116111fd575b6111f890611a49565b6111d4565b98506111f861120c8a89611a58565b519990506111ef565b509091929497939660018501851161159c576112336001860161069c565b94611241604051968761058e565b600101808652601f19906112549061069c565b01366020870137823560601c600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169660005b6004808d01358d0101358110156114595760048c01358c013681900360821901600583901b9091016024013512156105185760756055880135880101358110156114435760558701358701368190036101731901600583901b90910160750135121561051857898c611383610b1a61137960758660051b8d60558101350101013560558d01358d01019360248760051b6004830135830101013590600481013501016064602482019161135e6113408461073a565b6001600160a01b038061135560958c0161073a565b1691161461074e565b61137260d5880135604483013511156107a6565b019061066a565b6075850191611aa1565b6113e060028901546113c66113d461139d6075860161086c565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f19810183528261058e565b5190206075830161184f565b65ffffffffffff8c1665ffffffffffff821611611439575b509061142e61142784611434959460405161141e816113c660756020830195018561087d565b51902093611a58565b518b611a58565b52611a49565b61128b565b9a5061142e6113f8565b634e487b7160e01b600052603260045260246000fd5b5094509650969150965085549060009380519084519083519181602001966020019460200196600184018286011415841590156114c4575b505050505050505050156114bc5765ffffffffffff6001610bea94015460301c16913560601c611732565b505050600190565b9091929394959697985061157f575060059692961b8401926040519160005b8260051b810361156d57505060051b81019560051b8601955b8180519360406020830151920193815115611559575b5090602080809493019582811160051b90815218526040600020815201918683101561153e57916114fc565b505093501491601f1901511416388080808080808080611491565b875160209889019891820195509250611512565b602081830181015185830152016114e3565b959650939150508391501802185114388080808080808080611491565b634e487b7160e01b600052601160045260246000fd5b8335151584350361051857602080607593863581520194019391506110ea565b5050505050600190565b9392505050610bea925065ffffffffffff808360301c169216903560601c611732565b60405162461bcd60e51b815260206004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b8061165f575b50610a31565b61166d61012084018461066a565b601411610518573560601c036116835738611659565b60405162461bcd60e51b815260206004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b038211176118285783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d1561181b57606052526001600160a01b039081169116036118145760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c08401826118698261183c565b16611968575061187a60e09161183c565b935b0191816118888461183c565b16611894575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211611954575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556118f69082905460301c169261183c565b16106119045738808061188e565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826119748261183c565b16156119f0576000848152600260205260408120338252602052604081209184835497818916928315156000146119d757506119af9061183c565b1601908482116119545750908360e0939216955b65ffffffffffff191686851617905561187c565b91505060e0949392506119ea915061183c565b956119c3565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b600019811461159c5760010190565b80518210156114435760209160051b010190565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b8082168092036105185782351603611c7d5760005b60808601611add8188611a6c565b9050821015611c7157611af09087611a6c565b821015611c5c5760608202018035808601808711611c47576024808301809211611c34575087106105185783018501356020820135600681101561051857801580611c27575b15611b4957505050505050505050600090565b6001811480611c1a575b15611b6657505050505050505050600090565b6002811480611c0d575b15611b8357505050505050505050600090565b6003811480611c01575b15611ba057505050505050505050600090565b86811480611bf5575b15611bbc57505050505050505050600090565b60058691149283611be8575b505050611bdd57611bd890611a49565b611acf565b505050505050600090565b0135149050388481611bc8565b50858301358211611ba9565b50858301358210611b8d565b5085830135821015611b70565b5085830135821115611b53565b5085830135821415611b36565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf9cb56fc77876fa87ef886bfe3509b889a7b88430ada1038a3d446d9ee638c9a", + "transactionIndex": "0x1", + "blockHash": "0xb4a25cd810ba48da0ec9092bd6cf28e4f6449b9ba7ee69183f46e43361de6e79", + "blockNumber": "0xc679d", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1942f9", + "gasUsed": "0x18f0f1", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1699461149, + "chain": 59144, + "multi": false, + "commit": "8289389" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-1700066841.json b/broadcast/DeploySessionKey.s.sol/59144/run-1700066841.json new file mode 100644 index 00000000..abd27645 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59144/run-1700066841.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x7e3b0bd88016ff0a7e8c4382dce49d16972e6cf2e11379134717291d1d105cbd", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x7e3b0bd88016ff0a7e8c4382dce49d16972e6cf2e11379134717291d1d105cbd" + ], + "returns": {}, + "timestamp": 1700066841, + "chain": 59144, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-1700066847.json b/broadcast/DeploySessionKey.s.sol/59144/run-1700066847.json new file mode 100644 index 00000000..1d414c20 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59144/run-1700066847.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x7e3b0bd88016ff0a7e8c4382dce49d16972e6cf2e11379134717291d1d105cbd", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7e3b0bd88016ff0a7e8c4382dce49d16972e6cf2e11379134717291d1d105cbd", + "transactionIndex": "0x6", + "blockHash": "0xe43385d98b3b54c905eb3fd70555ab7c1d609c14cc89763fdbbe3d02ec030143", + "blockNumber": "0xd2eb8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1535b8", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066847, + "chain": 59144, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-latest.json b/broadcast/DeploySessionKey.s.sol/59144/run-latest.json new file mode 100644 index 00000000..1d414c20 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59144/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x7e3b0bd88016ff0a7e8c4382dce49d16972e6cf2e11379134717291d1d105cbd", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7e3b0bd88016ff0a7e8c4382dce49d16972e6cf2e11379134717291d1d105cbd", + "transactionIndex": "0x6", + "blockHash": "0xe43385d98b3b54c905eb3fd70555ab7c1d609c14cc89763fdbbe3d02ec030143", + "blockNumber": "0xd2eb8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1535b8", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700066847, + "chain": 59144, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/8453/run-1700068228.json b/broadcast/DeploySessionKey.s.sol/8453/run-1700068228.json new file mode 100644 index 00000000..065e2478 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/8453/run-1700068228.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x113ae9714d892fec7973a8e91847503f4d14de7645c42d37b2fc73060f995c9e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x113ae9714d892fec7973a8e91847503f4d14de7645c42d37b2fc73060f995c9e" + ], + "returns": {}, + "timestamp": 1700068228, + "chain": 8453, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/8453/run-1700068235.json b/broadcast/DeploySessionKey.s.sol/8453/run-1700068235.json new file mode 100644 index 00000000..053fe700 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/8453/run-1700068235.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x113ae9714d892fec7973a8e91847503f4d14de7645c42d37b2fc73060f995c9e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x113ae9714d892fec7973a8e91847503f4d14de7645c42d37b2fc73060f995c9e", + "transactionIndex": "0x1", + "blockHash": "0x5b3b4643e3b9e766d8f606b41a426e79d3f99af276879a577d090aa90752f1cb", + "blockNumber": "0x654f52", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13b515", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e35" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068235, + "chain": 8453, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/8453/run-latest.json b/broadcast/DeploySessionKey.s.sol/8453/run-latest.json new file mode 100644 index 00000000..053fe700 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/8453/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x113ae9714d892fec7973a8e91847503f4d14de7645c42d37b2fc73060f995c9e", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x113ae9714d892fec7973a8e91847503f4d14de7645c42d37b2fc73060f995c9e", + "transactionIndex": "0x1", + "blockHash": "0x5b3b4643e3b9e766d8f606b41a426e79d3f99af276879a577d090aa90752f1cb", + "blockNumber": "0x654f52", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13b515", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e35" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068235, + "chain": 8453, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84531/run-1700068201.json b/broadcast/DeploySessionKey.s.sol/84531/run-1700068201.json new file mode 100644 index 00000000..3b18829f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/84531/run-1700068201.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xae0d868443f3505d3a7997884c67373080ca1b5ce2d137ae18e2c55d743b7f8b", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xae0d868443f3505d3a7997884c67373080ca1b5ce2d137ae18e2c55d743b7f8b" + ], + "returns": {}, + "timestamp": 1700068201, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84531/run-1700068208.json b/broadcast/DeploySessionKey.s.sol/84531/run-1700068208.json new file mode 100644 index 00000000..0a06a38e --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/84531/run-1700068208.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xae0d868443f3505d3a7997884c67373080ca1b5ce2d137ae18e2c55d743b7f8b", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xae0d868443f3505d3a7997884c67373080ca1b5ce2d137ae18e2c55d743b7f8b", + "transactionIndex": "0x1", + "blockHash": "0x315fcfe01888c9f388fb2b796a725a4c7370b25971a514896ab37cb6283f30d2", + "blockNumber": "0xbdc72e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13eafb", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068208, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84531/run-latest.json b/broadcast/DeploySessionKey.s.sol/84531/run-latest.json new file mode 100644 index 00000000..0a06a38e --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/84531/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xae0d868443f3505d3a7997884c67373080ca1b5ce2d137ae18e2c55d743b7f8b", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x21", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xae0d868443f3505d3a7997884c67373080ca1b5ce2d137ae18e2c55d743b7f8b", + "transactionIndex": "0x1", + "blockHash": "0x315fcfe01888c9f388fb2b796a725a4c7370b25971a514896ab37cb6283f30d2", + "blockNumber": "0xbdc72e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x13eafb", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1700068208, + "chain": 84531, + "multi": false, + "commit": "fe8b969" +} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169616.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169616.json deleted file mode 100644 index d170232f..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169616.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0xF9B3Dfc8868E9Fa3FDe60F8Fd6e69eD822340afa", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x13abed", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610fe9908161001c8239f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c80630c959556146106fe5780633a871cdd146106b85780634f1169a81461065a578063666d05f4146105e85780638025aa49146103a55780639469d1481461032e578063b2e2c99b14610168578063e6f68b9f146101045763fb6f93f91461008057600080fd5b346100ff5760203660031901126100ff578035600052600260205260406000203360005260205260406000209081549060ff82169060038210156100ea5750906100d682600293159081156100df575b50610ca0565b60ff1916179055005b6001915014386100d0565b602190634e487b7160e01b6000525260246000fd5b600080fd5b346100ff5760203660031901126100ff576001600160a01b03610125610baa565b16600052600060205260806040600020546040519062ffffff80821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b50346100ff5760403660031901126100ff578035610184610bc0565b336000526020906001825260406000209060018060a01b03169081600052825262ffffff918260406000205416156102f4578360005260028152604060002082600052815260406000209360ff85541660038110156102df576101e79015610ca0565b6000526003815260406000203360005281526040600020826000528152604060002080549560ff87169060028210156100ea5750906102296000939215610ce3565b600160ff198098161790553382526001815260408220838352815261027b61025d8560408520541686885460381c16610c89565b865462ffffff60381b191660389190911b62ffffff60381b16178655565b84549282525260406000209180835460181c16908260381c16101561029c57005b6102dd93600191161782556102be65ffffffffffff80925460301c1642610d1f565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b602187634e487b7160e01b6000525260246000fd5b846064916040519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b50346100ff5760403660031901126100ff57610348610bc0565b8135600052600260205260406000209060018060a01b03166000526020526040600020549060ff82166040519160038210156100ea575060609262ffffff91835265ffffffffffff8160081c16602084015260381c166040820152f35b50346100ff5760603660031901126100ff576103bf610bc0565b9060443567ffffffffffffffff81116100ff576103df9036908301610b7c565b92909180356000526002602052604060002060018060a01b03831660005260205260406000209360ff85541660038110156105d35761041e9015610ca0565b60005b604180830482101561057c578082028281048214831517156105525760018301808411610567578281029281840414901517156105525761046a6104789261047192868a610d2c565b3691610d44565b8435610d86565b833560009081526003602090815260408083206001600160a01b038581168552908352818420908916845290915290208054600260ff8216101561053d57906001826104cc60ff6105389796951615610ce3565b60ff191617905560018060a01b03166000526001602052604060002060018060a01b03861660005260205261053361051562ffffff8060406000205416908a5460381c16610c89565b885462ffffff60381b191660389190911b62ffffff60381b16178855565b610c3a565b610421565b602186634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b601186634e487b7160e01b6000525260246000fd5b848780549160018060a01b03166000526000602052604060002062ffffff80825460181c16908460381c1610156105af57005b60016102dd9360ff19161782556102be65ffffffffffff80925460301c1642610d1f565b602183634e487b7160e01b6000525260246000fd5b50346100ff5760603660031901126100ff57610602610bc0565b6044356001600160a01b0381811692918390036100ff57833560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040519060028110156105d357602092508152f35b346100ff5760403660031901126100ff576040610675610baa565b61067d610bc0565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b506003196060368201126100ff5781359067ffffffffffffffff82116100ff576101609082360301126100ff576020916106f6916024359101610dfc565b604051908152f35b50346100ff57602090816003193601126100ff5767ffffffffffffffff9080358281116100ff576107329036908301610b7c565b810193906080818603126100ff5780358481116100ff57810185601f820112156100ff5780359061076a61076583610c12565b610bd6565b91848084838152019160051b830101918883116100ff578501905b828210610b5d57505050828201358581116100ff5782019580601f880112156100ff5786356107b661076582610c12565b9785808a848152019260051b8201019283116100ff5785809101915b838310610b4557505050506107e960408301610c2a565b936060809301359565ffffffffffff871687036100ff578251885103610b0f57336000526000855262ffffff958660406000205416610ad9573360005260008652610852336040600020906bffffffffffffffffffffffff82549181199060601b169116179055565b60005b8451811015610a91576001600160a01b03806108718388610c5f565b511615610a565788610883838d610c5f565b511615610a1d57806108958388610c5f565b51166000526001808952604060002033600052895289604060002054166109d957896108c1848e610c5f565b5116903360005260008a52604060002054891c906040519260408401848110898211176109c457916109bf96959391610985959360405283528c83019182528361090b878d610c5f565b51166000528c526040600020336000528c528c60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b16171790556109578389610c5f565b51163360005260008a526040600020906bffffffffffffffffffffffff82549181199060601b169116179055565b88610990828d610c5f565b511633600052600089526040600020908a6109af835492828416610c89565b169062ffffff1916179055610c3a565b610855565b60418a634e487b7160e01b6000525260246000fd5b60405162461bcd60e51b81528087018a9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b60405162461bcd60e51b8152808601899052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b60405162461bcd60e51b815280860189905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b5087600087338252526040600020916bffffffffffff00000000000065ffffff00000084549260181b169260301b16906bffffffffffffffffff000000191617179055600080f35b60405162461bcd60e51b8152808401879052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b60405162461bcd60e51b8152808301869052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610b5084610c2a565b81520191019085906107d2565b81356001600160a01b03811681036100ff578152908501908501610785565b9181601f840112156100ff5782359167ffffffffffffffff83116100ff57602083818601950101116100ff57565b600435906001600160a01b03821682036100ff57565b602435906001600160a01b03821682036100ff57565b6040519190601f01601f1916820167ffffffffffffffff811183821017610bfc57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610bfc5760051b60200190565b359062ffffff821682036100ff57565b6000198114610c495760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610c735760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610c4957565b15610ca757565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610cea57565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610c4957565b909392938483116100ff5784116100ff578101920390565b92919267ffffffffffffffff8211610bfc57610d69601f8301601f1916602001610bd6565b93828552828201116100ff57816000926020928387013784010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610def57606052604052565b638baa579f90526004601cfd5b90806000526002602052604060002033600052602052604060002091600060205260406000209083549060ff82166003811015610fa85780610fc8575065ffffffffffff835460301c16610fbe5761014081013590601e19813603018212156100ff57019067ffffffffffffffff8235116100ff578135360360208301136100ff5760381c62ffffff1692600091905b60418235048310610ec35750505062ffffff905460181c161115600014610ebd57805460ff19166001179055600090565b50600190565b9091936041850285810460411486151715610c495760018601808711610c4957604181029080820460411490151715610c495761046a610f0c91610f1293873560208901610d2c565b83610d86565b826000526003602052604060002060018060a01b038216600052602052604060002033600052602052604060002091825491600260ff84161015610fa857610fa193600184610f6760ff610f9b971615610ce3565b60ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610d1f565b94610c3a565b9190610e8c565b634e487b7160e01b600052602160045260246000fd5b5050505050600190565b92505092506001915014600014610ebd5760c81b6001600160d01b0319169056", - "nonce": "0x17e" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed" - ], - "returns": {}, - "timestamp": 1694169616, - "chain": 80001, - "multi": false, - "commit": "704ba5b" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169660.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169660.json deleted file mode 100644 index 886de6eb..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694169660.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0xF9B3Dfc8868E9Fa3FDe60F8Fd6e69eD822340afa", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x13abed", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610fe9908161001c8239f35b600080fdfe608060405260048036101561001357600080fd5b60003560e01c80630c959556146106fe5780633a871cdd146106b85780634f1169a81461065a578063666d05f4146105e85780638025aa49146103a55780639469d1481461032e578063b2e2c99b14610168578063e6f68b9f146101045763fb6f93f91461008057600080fd5b346100ff5760203660031901126100ff578035600052600260205260406000203360005260205260406000209081549060ff82169060038210156100ea5750906100d682600293159081156100df575b50610ca0565b60ff1916179055005b6001915014386100d0565b602190634e487b7160e01b6000525260246000fd5b600080fd5b346100ff5760203660031901126100ff576001600160a01b03610125610baa565b16600052600060205260806040600020546040519062ffffff80821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b50346100ff5760403660031901126100ff578035610184610bc0565b336000526020906001825260406000209060018060a01b03169081600052825262ffffff918260406000205416156102f4578360005260028152604060002082600052815260406000209360ff85541660038110156102df576101e79015610ca0565b6000526003815260406000203360005281526040600020826000528152604060002080549560ff87169060028210156100ea5750906102296000939215610ce3565b600160ff198098161790553382526001815260408220838352815261027b61025d8560408520541686885460381c16610c89565b865462ffffff60381b191660389190911b62ffffff60381b16178655565b84549282525260406000209180835460181c16908260381c16101561029c57005b6102dd93600191161782556102be65ffffffffffff80925460301c1642610d1f565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b602187634e487b7160e01b6000525260246000fd5b846064916040519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b50346100ff5760403660031901126100ff57610348610bc0565b8135600052600260205260406000209060018060a01b03166000526020526040600020549060ff82166040519160038210156100ea575060609262ffffff91835265ffffffffffff8160081c16602084015260381c166040820152f35b50346100ff5760603660031901126100ff576103bf610bc0565b9060443567ffffffffffffffff81116100ff576103df9036908301610b7c565b92909180356000526002602052604060002060018060a01b03831660005260205260406000209360ff85541660038110156105d35761041e9015610ca0565b60005b604180830482101561057c578082028281048214831517156105525760018301808411610567578281029281840414901517156105525761046a6104789261047192868a610d2c565b3691610d44565b8435610d86565b833560009081526003602090815260408083206001600160a01b038581168552908352818420908916845290915290208054600260ff8216101561053d57906001826104cc60ff6105389796951615610ce3565b60ff191617905560018060a01b03166000526001602052604060002060018060a01b03861660005260205261053361051562ffffff8060406000205416908a5460381c16610c89565b885462ffffff60381b191660389190911b62ffffff60381b16178855565b610c3a565b610421565b602186634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b601186634e487b7160e01b6000525260246000fd5b848780549160018060a01b03166000526000602052604060002062ffffff80825460181c16908460381c1610156105af57005b60016102dd9360ff19161782556102be65ffffffffffff80925460301c1642610d1f565b602183634e487b7160e01b6000525260246000fd5b50346100ff5760603660031901126100ff57610602610bc0565b6044356001600160a01b0381811692918390036100ff57833560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040519060028110156105d357602092508152f35b346100ff5760403660031901126100ff576040610675610baa565b61067d610bc0565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b506003196060368201126100ff5781359067ffffffffffffffff82116100ff576101609082360301126100ff576020916106f6916024359101610dfc565b604051908152f35b50346100ff57602090816003193601126100ff5767ffffffffffffffff9080358281116100ff576107329036908301610b7c565b810193906080818603126100ff5780358481116100ff57810185601f820112156100ff5780359061076a61076583610c12565b610bd6565b91848084838152019160051b830101918883116100ff578501905b828210610b5d57505050828201358581116100ff5782019580601f880112156100ff5786356107b661076582610c12565b9785808a848152019260051b8201019283116100ff5785809101915b838310610b4557505050506107e960408301610c2a565b936060809301359565ffffffffffff871687036100ff578251885103610b0f57336000526000855262ffffff958660406000205416610ad9573360005260008652610852336040600020906bffffffffffffffffffffffff82549181199060601b169116179055565b60005b8451811015610a91576001600160a01b03806108718388610c5f565b511615610a565788610883838d610c5f565b511615610a1d57806108958388610c5f565b51166000526001808952604060002033600052895289604060002054166109d957896108c1848e610c5f565b5116903360005260008a52604060002054891c906040519260408401848110898211176109c457916109bf96959391610985959360405283528c83019182528361090b878d610c5f565b51166000528c526040600020336000528c528c60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b16171790556109578389610c5f565b51163360005260008a526040600020906bffffffffffffffffffffffff82549181199060601b169116179055565b88610990828d610c5f565b511633600052600089526040600020908a6109af835492828416610c89565b169062ffffff1916179055610c3a565b610855565b60418a634e487b7160e01b6000525260246000fd5b60405162461bcd60e51b81528087018a9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b60405162461bcd60e51b8152808601899052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b60405162461bcd60e51b815280860189905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b5087600087338252526040600020916bffffffffffff00000000000065ffffff00000084549260181b169260301b16906bffffffffffffffffff000000191617179055600080f35b60405162461bcd60e51b8152808401879052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b60405162461bcd60e51b8152808301869052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610b5084610c2a565b81520191019085906107d2565b81356001600160a01b03811681036100ff578152908501908501610785565b9181601f840112156100ff5782359167ffffffffffffffff83116100ff57602083818601950101116100ff57565b600435906001600160a01b03821682036100ff57565b602435906001600160a01b03821682036100ff57565b6040519190601f01601f1916820167ffffffffffffffff811183821017610bfc57604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610bfc5760051b60200190565b359062ffffff821682036100ff57565b6000198114610c495760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610c735760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610c4957565b15610ca757565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610cea57565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610c4957565b909392938483116100ff5784116100ff578101920390565b92919267ffffffffffffffff8211610bfc57610d69601f8301601f1916602001610bd6565b93828552828201116100ff57816000926020928387013784010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610def57606052604052565b638baa579f90526004601cfd5b90806000526002602052604060002033600052602052604060002091600060205260406000209083549060ff82166003811015610fa85780610fc8575065ffffffffffff835460301c16610fbe5761014081013590601e19813603018212156100ff57019067ffffffffffffffff8235116100ff578135360360208301136100ff5760381c62ffffff1692600091905b60418235048310610ec35750505062ffffff905460181c161115600014610ebd57805460ff19166001179055600090565b50600190565b9091936041850285810460411486151715610c495760018601808711610c4957604181029080820460411490151715610c495761046a610f0c91610f1293873560208901610d2c565b83610d86565b826000526003602052604060002060018060a01b038216600052602052604060002033600052602052604060002091825491600260ff84161015610fa857610fa193600184610f6760ff610f9b971615610ce3565b60ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610d1f565b94610c3a565b9190610e8c565b634e487b7160e01b600052602160045260246000fd5b5050505050600190565b92505092506001915014600014610ebd5760c81b6001600160d01b0319169056", - "nonce": "0x17e" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed", - "transactionIndex": "0x31", - "blockHash": "0xc28546c3b5b48362333cea1079ee49302a0bbc0f3e0066d91dd7a4600c834cff", - "blockNumber": "0x260ac02", - "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x1002a0b", - "gasUsed": "0xe3dec", - "contractAddress": null, - "logs": [ - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", - "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" - ], - "data": "0x0000000000000000000000000000000000000000000000000004f952d1690dc400000000000000000000000000000000000000000000000002013114541d750400000000000000000000000000000000000000000000011fb0c6b6269f6ade7a00000000000000000000000000000000000000000000000001fc37c182b4674000000000000000000000000000000000000000000000011fb0cbaf7970d3ec3e", - "blockHash": "0xc28546c3b5b48362333cea1079ee49302a0bbc0f3e0066d91dd7a4600c834cff", - "blockNumber": "0x260ac02", - "transactionHash": "0xd421f4b5694318e9af9b505a9fefa9d22ea3cf8124d9414a872906d53b6e34ed", - "transactionIndex": "0x31", - "logIndex": "0x8f7", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x59682f14" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1694169660, - "chain": 80001, - "multi": false, - "commit": "704ba5b" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176464.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176464.json deleted file mode 100644 index 1a4689b4..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176464.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4", - "transactionType": "CREATE2", - "contractName": "RecoveryAction", - "contractAddress": "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x263b2", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610114908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c63ac39fd0f1461002a57600080fd5b34610110576040366003190112610110576004356001600160a01b0381169081900361010c578260243567ffffffffffffffff9283821161010c573660238301121561010c57816004013584811161010857366024828501011161010857813b156101085783604487838196946024839663064acaab60e11b855260206004860152828286015201848401378181018301849052601f01601f191681010301925af180156100fd576100da578280f35b81116100e95760405238808280f35b634e487b7160e01b82526041600452602482fd5b6040513d85823e3d90fd5b8380fd5b8280fd5b5080fd", - "nonce": "0x17f" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4" - ], - "returns": {}, - "timestamp": 1694176464, - "chain": 80001, - "multi": false, - "commit": "704ba5b" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176476.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176476.json deleted file mode 100644 index de7f2f3d..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694176476.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4", - "transactionType": "CREATE2", - "contractName": "RecoveryAction", - "contractAddress": "0x2f65dB8039fe5CAEE0a8680D2879deB800F31Ae1", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x263b2", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006080806040523461001657610114908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c63ac39fd0f1461002a57600080fd5b34610110576040366003190112610110576004356001600160a01b0381169081900361010c578260243567ffffffffffffffff9283821161010c573660238301121561010c57816004013584811161010857366024828501011161010857813b156101085783604487838196946024839663064acaab60e11b855260206004860152828286015201848401378181018301849052601f01601f191681010301925af180156100fd576100da578280f35b81116100e95760405238808280f35b634e487b7160e01b82526041600452602482fd5b6040513d85823e3d90fd5b8380fd5b8280fd5b5080fd", - "nonce": "0x17f" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4", - "transactionIndex": "0x1e", - "blockHash": "0x8b903b4850d93bba15a00f48098fa4faacfcd7c37866bbf2944da4f2d6bba246", - "blockNumber": "0x260b785", - "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x569fac", - "gasUsed": "0x1badc", - "contractAddress": null, - "logs": [ - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", - "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" - ], - "data": "0x0000000000000000000000000000000000000000000000000000d150d85f98d000000000000000000000000000000000000000000000000001fc37c181c24a940000000000000000000000000000000000000000000010f167e5b435835d3dc400000000000000000000000000000000000000000000000001fb6670a962b1c40000000000000000000000000000000000000000000010f167e685865bbcd694", - "blockHash": "0x8b903b4850d93bba15a00f48098fa4faacfcd7c37866bbf2944da4f2d6bba246", - "blockNumber": "0x260b785", - "transactionHash": "0xc2a8533f9d7a1744c6b39653ac54fddc88103d0092b7e442cb6555c0b1fb4ac4", - "transactionIndex": "0x1e", - "logIndex": "0xc9", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x78ff5781" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1694176476, - "chain": 80001, - "multi": false, - "commit": "704ba5b" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423209.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423209.json deleted file mode 100644 index 0baeb6d2..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423209.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0xEA418351BeA324Ce834E8073B5E7B32F677850Fc", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x199139", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e29182610122833960805182610faa015260a05182610fcd015260c0518261103f015260e0518261106501525181610f890152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461081f5780633a871cdd146107d75780634f1169a81461077e578063666d05f4146106ff5780638025aa491461048b57806384b0196e146103b45780639469d14814610331578063b2e2c99b14610165578063e6f68b9f146101055763fb6f93f91461008f57600080fd5b34610101576020366003190112610101578235825260026020528082203383526020528120805460ff8116848110156100ee57906100d982600293159081156100e3575b50610e26565b60ff191617905580f35b6001915014866100d3565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101015760203660031901126101015760809181906001600160a01b0361012c610cbc565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461032d578060031936011261032d57813590610183610cd2565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff9391908416156102f4578487526002815281872083885281528187209460ff865416878110156102e1576101dd9015610e26565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ce57509061021589939215610e69565b600160ff1980991617905533825260018152828220848352815261026561024786858520541687895460381c16610e0f565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c161015610285578480f35b6102c693600191161782556102a765ffffffffffff80925460301c1642610ea5565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461010157806003193601126101015761034a610cd2565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff821690858210156103a1576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b509034610488578060031936011261048857908051906103d382610d5a565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261044082519261040784610d5a565b600193848152603160f81b87820152610433825196600f60f81b885260e08989015260e0880190610ce8565b9186830390870152610ce8565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106104755785870386f35b8351875295810195928101928401610468565b80fd5b5034610101576060366003190112610101576104a5610cd2565b9060443567ffffffffffffffff81116106fb576104c59036908601610c89565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156106e8576105069015610e26565b875b6041808d04821015610694576105598b8051898b8201927fbc3ccb89f157919ad65276b66b69d700cf23d61c6e84cd56ab1cadee2e2995e384528201528d815261055181610d28565b519020610f87565b818302918383048114841517156106805760019283850180861161066a57828102928184041490151715610655578f6105a893926105a29261059b9289610eb2565b3691610eca565b90610f11565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561063f5793809392916105e661063a979615610e69565b60ff19161790558b5288528a8a20898b5288526106356106178d8d8d62ffffff918291205416915460381c16610e0f565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610dc0565b610508565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156106bd578380f35b60016106e19360ff19161782556102a765ffffffffffff80925460301c1642610ea5565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b503461010157606036600319011261010157610719610cd2565b6044356001600160a01b03818116929183900361077a578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561076757602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b50903461048857816003193601126104885781610799610cbc565b916107a2610cd2565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5090600319906060368301126104885783359167ffffffffffffffff83116101015761016090833603011261048857506020926108189160243591016110ce565b9051908152f35b509034610488576020806003193601126101015767ffffffffffffffff9284358481116106fb576108539036908701610c89565b8194910160808582031261010157843586811161032d5785019481601f8701121561032d5785359561088487610d98565b9661089186519889610d76565b808852868089019160051b83010191848311610c62578701905b828210610c6657505050848101358781116106fb5781019180601f840112156106fb5782356108d981610d98565b936108e687519586610d76565b818552878086019260051b820101928311610c625787809101915b838310610c4a5750505050610917848201610db0565b956060809201359765ffffffffffff8916890361077a578151845103610c155733855284875262ffffff97888787205416610be05733865285885261097833888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610b9e576001600160a01b03806109968387610de5565b511615610b64578a6109a88389610de5565b511615610b2c57806109ba8387610de5565b511688526001808b52898920338a528b528b8a8a205416610ae9578b6109e0848a610de5565b511690338a52898c528a8a2054881c908b51928c840184811089821117610ad3578f908f8f8f929589610a2a8f9c610ace9d819d9b99610a989d9b87528b52868b01998a52610de5565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610a6e8388610de5565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610aa38289610de5565b5116338952888b52898920908c610abe835492828416610e0f565b169062ffffff1916179055610dc0565b61097a565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610c5584610db0565b8152019101908790610901565b8580fd5b81356001600160a01b0381168103610c855781529087019087016108ab565b8680fd5b9181601f84011215610cb75782359167ffffffffffffffff8311610cb75760208381860195010111610cb757565b600080fd5b600435906001600160a01b0382168203610cb757565b602435906001600160a01b0382168203610cb757565b919082519283825260005b848110610d14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cf3565b6060810190811067ffffffffffffffff821117610d4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610d4457604052565b90601f8019910116810190811067ffffffffffffffff821117610d4457604052565b67ffffffffffffffff8111610d445760051b60200190565b359062ffffff82168203610cb757565b6000198114610dcf5760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610df95760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610dcf57565b15610e2d57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610e7057565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610dcf57565b90939293848311610cb7578411610cb7578101920390565b92919267ffffffffffffffff8211610d445760405191610ef4601f8201601f191660200184610d76565b829481845281830111610cb7578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610f7a57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611014575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220610ff5565b903590601e1981360301821215610cb7570180359067ffffffffffffffff8211610cb757602001918136038313610cb757565b91906110e061059b606085018561109b565b6020815191012090816000526002602052604060002033600052602052604060002092600060205260406000209084549460ff861696600497888110156114cd5780611428575065ffffffffffff845460301c1661141b578061014061114792019061109b565b92909362ffffff604185049860381c16956000965b89600019810111611406576000198a018810156112d3576111b460405160208101907fbc3ccb89f157919ad65276b66b69d700cf23d61c6e84cd56ab1cadee2e2995e382528b60408201526040815261055181610d28565b886041810204604114891517156112be5760018901808a116112a957806041810204604114811517156112a957906105a261059b60416111fa940260418d028b8d610eb2565b896000526003602052604060002060018060a01b0382166000526020526040600020336000526020526040600020805460ff811660028110156112945761128757916112819391600161127b9460ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610ea5565b97610dc0565b9661115c565b5050509661128190610dc0565b60218f634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b97959399949298509095506020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c8320916040198201908282116113f157826105a292611326959461059b93610eb2565b91600052600360205260406000209160018060a01b0316918260005260205260406000203360005260205260406000209081549060ff82169060028210156113dc57501561139c575b50505062ffffff905460181c1611156000146113965760ff19825416916003600093179055565b60019150565b9162ffffff93949160016113d39460ff19161790556000526001602052604060002033600052602052826040600020541690610ea5565b9190388061136f565b602190634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b60118b634e487b7160e01b6000525260246000fd5b5050945050505050600190565b91509450600191959250959295146000146114c4579161148b603c61149d936105a29565ffffffffffff60d01b9060c81b16976020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052209161014081019061109b565b6001600160a01b039491369190610eca565b16600052600160205260406000203360005260205262ffffff604060002054161561139657565b50600193505050565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x180" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93" - ], - "returns": {}, - "timestamp": 1694423209, - "chain": 80001, - "multi": false, - "commit": "24e783c" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423222.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423222.json deleted file mode 100644 index 071dc02a..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694423222.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0xEA418351BeA324Ce834E8073B5E7B32F677850Fc", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x199139", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e29182610122833960805182610faa015260a05182610fcd015260c0518261103f015260e0518261106501525181610f890152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461081f5780633a871cdd146107d75780634f1169a81461077e578063666d05f4146106ff5780638025aa491461048b57806384b0196e146103b45780639469d14814610331578063b2e2c99b14610165578063e6f68b9f146101055763fb6f93f91461008f57600080fd5b34610101576020366003190112610101578235825260026020528082203383526020528120805460ff8116848110156100ee57906100d982600293159081156100e3575b50610e26565b60ff191617905580f35b6001915014866100d3565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101015760203660031901126101015760809181906001600160a01b0361012c610cbc565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461032d578060031936011261032d57813590610183610cd2565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff9391908416156102f4578487526002815281872083885281528187209460ff865416878110156102e1576101dd9015610e26565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ce57509061021589939215610e69565b600160ff1980991617905533825260018152828220848352815261026561024786858520541687895460381c16610e0f565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c161015610285578480f35b6102c693600191161782556102a765ffffffffffff80925460301c1642610ea5565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461010157806003193601126101015761034a610cd2565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff821690858210156103a1576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b509034610488578060031936011261048857908051906103d382610d5a565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261044082519261040784610d5a565b600193848152603160f81b87820152610433825196600f60f81b885260e08989015260e0880190610ce8565b9186830390870152610ce8565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106104755785870386f35b8351875295810195928101928401610468565b80fd5b5034610101576060366003190112610101576104a5610cd2565b9060443567ffffffffffffffff81116106fb576104c59036908601610c89565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156106e8576105069015610e26565b875b6041808d04821015610694576105598b8051898b8201927fbc3ccb89f157919ad65276b66b69d700cf23d61c6e84cd56ab1cadee2e2995e384528201528d815261055181610d28565b519020610f87565b818302918383048114841517156106805760019283850180861161066a57828102928184041490151715610655578f6105a893926105a29261059b9289610eb2565b3691610eca565b90610f11565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561063f5793809392916105e661063a979615610e69565b60ff19161790558b5288528a8a20898b5288526106356106178d8d8d62ffffff918291205416915460381c16610e0f565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610dc0565b610508565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156106bd578380f35b60016106e19360ff19161782556102a765ffffffffffff80925460301c1642610ea5565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b503461010157606036600319011261010157610719610cd2565b6044356001600160a01b03818116929183900361077a578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561076757602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b50903461048857816003193601126104885781610799610cbc565b916107a2610cd2565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5090600319906060368301126104885783359167ffffffffffffffff83116101015761016090833603011261048857506020926108189160243591016110ce565b9051908152f35b509034610488576020806003193601126101015767ffffffffffffffff9284358481116106fb576108539036908701610c89565b8194910160808582031261010157843586811161032d5785019481601f8701121561032d5785359561088487610d98565b9661089186519889610d76565b808852868089019160051b83010191848311610c62578701905b828210610c6657505050848101358781116106fb5781019180601f840112156106fb5782356108d981610d98565b936108e687519586610d76565b818552878086019260051b820101928311610c625787809101915b838310610c4a5750505050610917848201610db0565b956060809201359765ffffffffffff8916890361077a578151845103610c155733855284875262ffffff97888787205416610be05733865285885261097833888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610b9e576001600160a01b03806109968387610de5565b511615610b64578a6109a88389610de5565b511615610b2c57806109ba8387610de5565b511688526001808b52898920338a528b528b8a8a205416610ae9578b6109e0848a610de5565b511690338a52898c528a8a2054881c908b51928c840184811089821117610ad3578f908f8f8f929589610a2a8f9c610ace9d819d9b99610a989d9b87528b52868b01998a52610de5565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610a6e8388610de5565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610aa38289610de5565b5116338952888b52898920908c610abe835492828416610e0f565b169062ffffff1916179055610dc0565b61097a565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610c5584610db0565b8152019101908790610901565b8580fd5b81356001600160a01b0381168103610c855781529087019087016108ab565b8680fd5b9181601f84011215610cb75782359167ffffffffffffffff8311610cb75760208381860195010111610cb757565b600080fd5b600435906001600160a01b0382168203610cb757565b602435906001600160a01b0382168203610cb757565b919082519283825260005b848110610d14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cf3565b6060810190811067ffffffffffffffff821117610d4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610d4457604052565b90601f8019910116810190811067ffffffffffffffff821117610d4457604052565b67ffffffffffffffff8111610d445760051b60200190565b359062ffffff82168203610cb757565b6000198114610dcf5760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610df95760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610dcf57565b15610e2d57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610e7057565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610dcf57565b90939293848311610cb7578411610cb7578101920390565b92919267ffffffffffffffff8211610d445760405191610ef4601f8201601f191660200184610d76565b829481845281830111610cb7578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610f7a57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611014575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220610ff5565b903590601e1981360301821215610cb7570180359067ffffffffffffffff8211610cb757602001918136038313610cb757565b91906110e061059b606085018561109b565b6020815191012090816000526002602052604060002033600052602052604060002092600060205260406000209084549460ff861696600497888110156114cd5780611428575065ffffffffffff845460301c1661141b578061014061114792019061109b565b92909362ffffff604185049860381c16956000965b89600019810111611406576000198a018810156112d3576111b460405160208101907fbc3ccb89f157919ad65276b66b69d700cf23d61c6e84cd56ab1cadee2e2995e382528b60408201526040815261055181610d28565b886041810204604114891517156112be5760018901808a116112a957806041810204604114811517156112a957906105a261059b60416111fa940260418d028b8d610eb2565b896000526003602052604060002060018060a01b0382166000526020526040600020336000526020526040600020805460ff811660028110156112945761128757916112819391600161127b9460ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610ea5565b97610dc0565b9661115c565b5050509661128190610dc0565b60218f634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b97959399949298509095506020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c8320916040198201908282116113f157826105a292611326959461059b93610eb2565b91600052600360205260406000209160018060a01b0316918260005260205260406000203360005260205260406000209081549060ff82169060028210156113dc57501561139c575b50505062ffffff905460181c1611156000146113965760ff19825416916003600093179055565b60019150565b9162ffffff93949160016113d39460ff19161790556000526001602052604060002033600052602052826040600020541690610ea5565b9190388061136f565b602190634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b60118b634e487b7160e01b6000525260246000fd5b5050945050505050600190565b91509450600191959250959295146000146114c4579161148b603c61149d936105a29565ffffffffffff60d01b9060c81b16976020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052209161014081019061109b565b6001600160a01b039491369190610eca565b16600052600160205260406000203360005260205262ffffff604060002054161561139657565b50600193505050565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x180" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93", - "transactionIndex": "0xb", - "blockHash": "0x1e6b169984798260c336f21a325d757f390c21505518c2e89d7a4c1767840af7", - "blockNumber": "0x2625030", - "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0xff019c", - "gasUsed": "0x1282a0", - "contractAddress": null, - "logs": [ - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", - "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" - ], - "data": "0x000000000000000000000000000000000000000000000000000676f21720654000000000000000000000000000000000000000000000000001fb6670a93e5db8000000000000000000000000000000000000000000001110c5dfc8212d92fd1600000000000000000000000000000000000000000000000001f4ef7e921df878000000000000000000000000000000000000000000001110c5e63f1344b36256", - "blockHash": "0x1e6b169984798260c336f21a325d757f390c21505518c2e89d7a4c1767840af7", - "blockNumber": "0x2625030", - "transactionHash": "0xe5ef47a29e9171f511c4fc94eea8fc728aae7181e8925a5afafae8cecc370b93", - "transactionIndex": "0xb", - "logIndex": "0x5c", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x59682f55" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1694423222, - "chain": 80001, - "multi": false, - "commit": "24e783c" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429050.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429050.json deleted file mode 100644 index 56a66bbf..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429050.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0xA197430D966045eD332D9fD4EADE86F5e0846c58", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1b6180", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516115229182610122833960805182610faa015260a05182610fcd015260c0518261103f015260e0518261106501525181610f890152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461081f5780633a871cdd146107d75780634f1169a81461077e578063666d05f4146106ff5780638025aa491461048b57806384b0196e146103b45780639469d14814610331578063b2e2c99b14610165578063e6f68b9f146101055763fb6f93f91461008f57600080fd5b34610101576020366003190112610101578235825260026020528082203383526020528120805460ff8116848110156100ee57906100d982600293159081156100e3575b50610e26565b60ff191617905580f35b6001915014866100d3565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101015760203660031901126101015760809181906001600160a01b0361012c610cbc565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461032d578060031936011261032d57813590610183610cd2565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff9391908416156102f4578487526002815281872083885281528187209460ff865416878110156102e1576101dd9015610e26565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ce57509061021589939215610e69565b600160ff1980991617905533825260018152828220848352815261026561024786858520541687895460381c16610e0f565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c161015610285578480f35b6102c693600191161782556102a765ffffffffffff80925460301c1642610ea5565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461010157806003193601126101015761034a610cd2565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff821690858210156103a1576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b509034610488578060031936011261048857908051906103d382610d5a565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261044082519261040784610d5a565b600193848152603160f81b87820152610433825196600f60f81b885260e08989015260e0880190610ce8565b9186830390870152610ce8565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106104755785870386f35b8351875295810195928101928401610468565b80fd5b5034610101576060366003190112610101576104a5610cd2565b9060443567ffffffffffffffff81116106fb576104c59036908601610c89565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156106e8576105069015610e26565b875b6041808d04821015610694576105598b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261055181610d28565b519020610f87565b818302918383048114841517156106805760019283850180861161066a57828102928184041490151715610655578f6105a893926105a29261059b9289610eb2565b3691610eca565b90610f11565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561063f5793809392916105e661063a979615610e69565b60ff19161790558b5288528a8a20898b5288526106356106178d8d8d62ffffff918291205416915460381c16610e0f565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610dc0565b610508565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156106bd578380f35b60016106e19360ff19161782556102a765ffffffffffff80925460301c1642610ea5565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b503461010157606036600319011261010157610719610cd2565b6044356001600160a01b03818116929183900361077a578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561076757602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b50903461048857816003193601126104885781610799610cbc565b916107a2610cd2565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5090600319906060368301126104885783359167ffffffffffffffff83116101015761016090833603011261048857506020926108189160243591016110ce565b9051908152f35b509034610488576020806003193601126101015767ffffffffffffffff9284358481116106fb576108539036908701610c89565b8194910160808582031261010157843586811161032d5785019481601f8701121561032d5785359561088487610d98565b9661089186519889610d76565b808852868089019160051b83010191848311610c62578701905b828210610c6657505050848101358781116106fb5781019180601f840112156106fb5782356108d981610d98565b936108e687519586610d76565b818552878086019260051b820101928311610c625787809101915b838310610c4a5750505050610917848201610db0565b956060809201359765ffffffffffff8916890361077a578151845103610c155733855284875262ffffff97888787205416610be05733865285885261097833888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610b9e576001600160a01b03806109968387610de5565b511615610b64578a6109a88389610de5565b511615610b2c57806109ba8387610de5565b511688526001808b52898920338a528b528b8a8a205416610ae9578b6109e0848a610de5565b511690338a52898c528a8a2054881c908b51928c840184811089821117610ad3578f908f8f8f929589610a2a8f9c610ace9d819d9b99610a989d9b87528b52868b01998a52610de5565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610a6e8388610de5565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610aa38289610de5565b5116338952888b52898920908c610abe835492828416610e0f565b169062ffffff1916179055610dc0565b61097a565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610c5584610db0565b8152019101908790610901565b8580fd5b81356001600160a01b0381168103610c855781529087019087016108ab565b8680fd5b9181601f84011215610cb75782359167ffffffffffffffff8311610cb75760208381860195010111610cb757565b600080fd5b600435906001600160a01b0382168203610cb757565b602435906001600160a01b0382168203610cb757565b919082519283825260005b848110610d14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cf3565b6060810190811067ffffffffffffffff821117610d4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610d4457604052565b90601f8019910116810190811067ffffffffffffffff821117610d4457604052565b67ffffffffffffffff8111610d445760051b60200190565b359062ffffff82168203610cb757565b6000198114610dcf5760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610df95760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610dcf57565b15610e2d57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610e7057565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610dcf57565b90939293848311610cb7578411610cb7578101920390565b92919267ffffffffffffffff8211610d445760405191610ef4601f8201601f191660200184610d76565b829481845281830111610cb7578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610f7a57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611014575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220610ff5565b903590601e1981360301821215610cb7570180359067ffffffffffffffff8211610cb757602001918136038313610cb757565b91906110dd606084018461109b565b611124608060405183819460208301966040885281606085015284840137600083828401015260208901356040830152601f80199101168101036060810184520182610d76565b51902090816000526002602052604060002033600052602052604060002092600060205260406000209084549460ff8616966004978881101561150d5780611468575065ffffffffffff845460301c1661145b578061014061118792019061109b565b92909362ffffff604185049860381c16956000965b89600019810111611446576000198a01881015611313576111f460405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528b60408201526040815261055181610d28565b886041810204604114891517156112fe5760018901808a116112e957806041810204604114811517156112e957906105a261059b604161123a940260418d028b8d610eb2565b896000526003602052604060002060018060a01b0382166000526020526040600020336000526020526040600020805460ff811660028110156112d4576112c757916112c1939160016112bb9460ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610ea5565b97610dc0565b9661119c565b505050966112c190610dc0565b60218f634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b97959399949298509095506020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c83209160401982019082821161143157826105a292611366959461059b93610eb2565b91600052600360205260406000209160018060a01b0316918260005260205260406000203360005260205260406000209081549060ff821690600282101561141c5750156113dc575b50505062ffffff905460181c1611156000146113d65760ff19825416916003600093179055565b60019150565b9162ffffff93949160016114139460ff19161790556000526001602052604060002033600052602052826040600020541690610ea5565b919038806113af565b602190634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b60118b634e487b7160e01b6000525260246000fd5b5050945050505050600190565b915094506001919592509592951460001461150457916114cb603c6114dd936105a29565ffffffffffff60d01b9060c81b16976020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052209161014081019061109b565b6001600160a01b039491369190610eca565b16600052600160205260406000203360005260205262ffffff60406000205416156113d657565b50600193505050565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x181" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c" - ], - "returns": {}, - "timestamp": 1694429050, - "chain": 80001, - "multi": false, - "commit": "52b9907" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429057.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429057.json deleted file mode 100644 index 697e2903..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694429057.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0xA197430D966045eD332D9fD4EADE86F5e0846c58", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1b6180", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516115229182610122833960805182610faa015260a05182610fcd015260c0518261103f015260e0518261106501525181610f890152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461081f5780633a871cdd146107d75780634f1169a81461077e578063666d05f4146106ff5780638025aa491461048b57806384b0196e146103b45780639469d14814610331578063b2e2c99b14610165578063e6f68b9f146101055763fb6f93f91461008f57600080fd5b34610101576020366003190112610101578235825260026020528082203383526020528120805460ff8116848110156100ee57906100d982600293159081156100e3575b50610e26565b60ff191617905580f35b6001915014866100d3565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101015760203660031901126101015760809181906001600160a01b0361012c610cbc565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461032d578060031936011261032d57813590610183610cd2565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff9391908416156102f4578487526002815281872083885281528187209460ff865416878110156102e1576101dd9015610e26565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ce57509061021589939215610e69565b600160ff1980991617905533825260018152828220848352815261026561024786858520541687895460381c16610e0f565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c161015610285578480f35b6102c693600191161782556102a765ffffffffffff80925460301c1642610ea5565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461010157806003193601126101015761034a610cd2565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff821690858210156103a1576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b509034610488578060031936011261048857908051906103d382610d5a565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261044082519261040784610d5a565b600193848152603160f81b87820152610433825196600f60f81b885260e08989015260e0880190610ce8565b9186830390870152610ce8565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106104755785870386f35b8351875295810195928101928401610468565b80fd5b5034610101576060366003190112610101576104a5610cd2565b9060443567ffffffffffffffff81116106fb576104c59036908601610c89565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156106e8576105069015610e26565b875b6041808d04821015610694576105598b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261055181610d28565b519020610f87565b818302918383048114841517156106805760019283850180861161066a57828102928184041490151715610655578f6105a893926105a29261059b9289610eb2565b3691610eca565b90610f11565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561063f5793809392916105e661063a979615610e69565b60ff19161790558b5288528a8a20898b5288526106356106178d8d8d62ffffff918291205416915460381c16610e0f565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610dc0565b610508565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156106bd578380f35b60016106e19360ff19161782556102a765ffffffffffff80925460301c1642610ea5565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b503461010157606036600319011261010157610719610cd2565b6044356001600160a01b03818116929183900361077a578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561076757602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b50903461048857816003193601126104885781610799610cbc565b916107a2610cd2565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5090600319906060368301126104885783359167ffffffffffffffff83116101015761016090833603011261048857506020926108189160243591016110ce565b9051908152f35b509034610488576020806003193601126101015767ffffffffffffffff9284358481116106fb576108539036908701610c89565b8194910160808582031261010157843586811161032d5785019481601f8701121561032d5785359561088487610d98565b9661089186519889610d76565b808852868089019160051b83010191848311610c62578701905b828210610c6657505050848101358781116106fb5781019180601f840112156106fb5782356108d981610d98565b936108e687519586610d76565b818552878086019260051b820101928311610c625787809101915b838310610c4a5750505050610917848201610db0565b956060809201359765ffffffffffff8916890361077a578151845103610c155733855284875262ffffff97888787205416610be05733865285885261097833888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610b9e576001600160a01b03806109968387610de5565b511615610b64578a6109a88389610de5565b511615610b2c57806109ba8387610de5565b511688526001808b52898920338a528b528b8a8a205416610ae9578b6109e0848a610de5565b511690338a52898c528a8a2054881c908b51928c840184811089821117610ad3578f908f8f8f929589610a2a8f9c610ace9d819d9b99610a989d9b87528b52868b01998a52610de5565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610a6e8388610de5565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610aa38289610de5565b5116338952888b52898920908c610abe835492828416610e0f565b169062ffffff1916179055610dc0565b61097a565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610c5584610db0565b8152019101908790610901565b8580fd5b81356001600160a01b0381168103610c855781529087019087016108ab565b8680fd5b9181601f84011215610cb75782359167ffffffffffffffff8311610cb75760208381860195010111610cb757565b600080fd5b600435906001600160a01b0382168203610cb757565b602435906001600160a01b0382168203610cb757565b919082519283825260005b848110610d14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610cf3565b6060810190811067ffffffffffffffff821117610d4457604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610d4457604052565b90601f8019910116810190811067ffffffffffffffff821117610d4457604052565b67ffffffffffffffff8111610d445760051b60200190565b359062ffffff82168203610cb757565b6000198114610dcf5760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610df95760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610dcf57565b15610e2d57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610e7057565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610dcf57565b90939293848311610cb7578411610cb7578101920390565b92919267ffffffffffffffff8211610d445760405191610ef4601f8201601f191660200184610d76565b829481845281830111610cb7578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d15610f7a57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611014575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220610ff5565b903590601e1981360301821215610cb7570180359067ffffffffffffffff8211610cb757602001918136038313610cb757565b91906110dd606084018461109b565b611124608060405183819460208301966040885281606085015284840137600083828401015260208901356040830152601f80199101168101036060810184520182610d76565b51902090816000526002602052604060002033600052602052604060002092600060205260406000209084549460ff8616966004978881101561150d5780611468575065ffffffffffff845460301c1661145b578061014061118792019061109b565b92909362ffffff604185049860381c16956000965b89600019810111611446576000198a01881015611313576111f460405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528b60408201526040815261055181610d28565b886041810204604114891517156112fe5760018901808a116112e957806041810204604114811517156112e957906105a261059b604161123a940260418d028b8d610eb2565b896000526003602052604060002060018060a01b0382166000526020526040600020336000526020526040600020805460ff811660028110156112d4576112c757916112c1939160016112bb9460ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff6040600020541690610ea5565b97610dc0565b9661119c565b505050966112c190610dc0565b60218f634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b97959399949298509095506020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c83209160401982019082821161143157826105a292611366959461059b93610eb2565b91600052600360205260406000209160018060a01b0316918260005260205260406000203360005260205260406000209081549060ff821690600282101561141c5750156113dc575b50505062ffffff905460181c1611156000146113d65760ff19825416916003600093179055565b60019150565b9162ffffff93949160016114139460ff19161790556000526001602052604060002033600052602052826040600020541690610ea5565b919038806113af565b602190634e487b7160e01b6000525260246000fd5b601185634e487b7160e01b6000525260246000fd5b60118b634e487b7160e01b6000525260246000fd5b5050945050505050600190565b915094506001919592509592951460001461150457916114cb603c6114dd936105a29565ffffffffffff60d01b9060c81b16976020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052209161014081019061109b565b6001600160a01b039491369190610eca565b16600052600160205260406000203360005260205262ffffff60406000205416156113d657565b50600193505050565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x181" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c", - "transactionIndex": "0x2d", - "blockHash": "0xb5c7f6dc5549960cf902b49b70e926e181426c9083ba495886fe9eade55378f2", - "blockNumber": "0x2625962", - "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0xa9c353", - "gasUsed": "0x12b8d3", - "contractAddress": null, - "logs": [ - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", - "0x000000000000000000000000f903ba9e006193c1527bfbe65fe2123704ea3f99" - ], - "data": "0x000000000000000000000000000000000000000000000000000689dfd82afd6400000000000000000000000000000000000000000000000001f4ef7e8c1d9e980000000000000000000000000000000000000000000011125ffdaa8c6f08c33800000000000000000000000000000000000000000000000001ee659eb3f2a1340000000000000000000000000000000000000000000011126004346c4733c09c", - "blockHash": "0xb5c7f6dc5549960cf902b49b70e926e181426c9083ba495886fe9eade55378f2", - "blockNumber": "0x2625962", - "transactionHash": "0x63ca02ed7576b54bc55448b48a4148911d023c8a69ba70b32dbbd67060e4c16c", - "transactionIndex": "0x2d", - "logIndex": "0xf2", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000010000000000000000000000020000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000001000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x59683bf4" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1694429057, - "chain": 80001, - "multi": false, - "commit": "52b9907" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507612.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507612.json deleted file mode 100644 index 31f7b5c8..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507612.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0x24D89a6DE2A256Aa2aBf6e509EFf946d0220743a", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1991ce", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e1918261012283396080518261110b015260a0518261112e015260c051826111a0015260e051826111c6015251816110ea0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098c578063333daf921461094f5780633a871cdd1461090c5780634f1169a8146108b3578063666d05f4146108345780638025aa49146105c157806384b0196e146104ea5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f88565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e22565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e38565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f88565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fcb565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f71565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611007565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e22565b506024356001600160401b03811161034e5760209361038c91369101610df0565b505051908152f35b50346101225780600319360112610122576103ad610e38565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b5090602092836003193601126101225780356001600160401b03811161034e576104449036908301610df0565b505033825281845262ffffff8383205416156104b957503381528083528181205460601c5b6001600160a01b039081163381146104aa57808352600190818652848420338552865283858120558352845282822033835284528282205460181c16610469565b82808581883382525281205580f35b825162461bcd60e51b8152908101849052600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b5090346105be57806003193601126105be579080519061050982610ebf565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057682519261053d84610ebf565b600193848152603160f81b87820152610569825196600f60f81b885260e08989015260e0880190610e4e565b9186830390870152610e4e565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ab5785870386f35b835187529581019592810192840161059e565b80fd5b5034610122576060366003190112610122576105db610e38565b906044356001600160401b038111610830576105fa9036908601610df0565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c81101561081d5761063b9015610f88565b875b6041808d048210156107c95761068e8b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068681610e8e565b5190206110e8565b818302918383048114841517156107b55760019283850180861161079f5782810292818404149015171561078a578f6106dd93926106d7926106d09289611014565b369161102c565b90611072565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077457938093929161071b61076f979615610fcb565b60ff19161790558b5288528a8a20898b52885261076a61074c8d8d8d62ffffff918291205416915460381c16610f71565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f22565b61063d565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f2578380f35b60016108169360ff19161782556102c865ffffffffffff80925460301c1642611007565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b50346101225760603660031901126101225761084e610e38565b6044356001600160a01b0381811692918390036108af578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089c57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105be57816003193601126105be57816108ce610e22565b916108d7610e38565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105be578135936001600160401b038511610122576101609085360301126105be5750602092610948910161122e565b9051908152f35b5090346105be57816003193601126105be57602435906001600160401b0382116105be575060209261098391369101610df0565b50505160018152f35b5090602080600319360112610122576001600160401b03928435848111610830576109ba9036908701610df0565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109eb87610efb565b966109f886519889610eda565b808852868089019160051b83010191848311610dc9578701905b828210610dcd57505050848101358781116108305781019180601f84011215610830578235610a4081610efb565b93610a4d87519586610eda565b818552878086019260051b820101928311610dc95787809101915b838310610db15750505050610a7e848201610f12565b956060809201359765ffffffffffff891689036108af578151845103610d7c5733855284875262ffffff97888787205416610d4757338652858852610adf33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d05576001600160a01b0380610afd8387610f47565b511615610ccb578a610b0f8389610f47565b511615610c935780610b218387610f47565b511688526001808b52898920338a528b528b8a8a205416610c50578b610b47848a610f47565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c3a578f908f8f8f929589610b918f9c610c359d819d9b99610bff9d9b87528b52868b01998a52610f47565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd58388610f47565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c0a8289610f47565b5116338952888b52898920908c610c25835492828416610f71565b169062ffffff1916179055610f22565b610ae1565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbc84610f12565b8152019101908790610a68565b8580fd5b81356001600160a01b0381168103610dec578152908701908701610a12565b8680fd5b9181601f84011215610e1d578235916001600160401b038311610e1d5760208381860195010111610e1d57565b600080fd5b600435906001600160a01b0382168203610e1d57565b602435906001600160a01b0382168203610e1d57565b919082519283825260005b848110610e7a575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e59565b606081019081106001600160401b03821117610ea957604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea957604052565b90601f801991011681019081106001600160401b03821117610ea957604052565b6001600160401b038111610ea95760051b60200190565b359062ffffff82168203610e1d57565b6000198114610f315760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5b5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3157565b15610f8f57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd257565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3157565b90939293848311610e1d578411610e1d578101920390565b9291926001600160401b038211610ea95760405191611055601f8201601f191660200184610eda565b829481845281830111610e1d578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110db57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611175575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611156565b903590601e1981360301821215610e1d57018035906001600160401b038211610e1d57602001918136038313610e1d57565b9061123c60608301836111fc565b611283608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610eda565b51902080600052600290816020526040600020336000526020526040600020906000602052604060002082549560ff871696600497888110156114cc578061149757505065ffffffffffff825460301c1661148c57806101406112e79201906111fc565b919062ffffff855460381c16946000955b60418086048810156114595761134560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068681610e8e565b9088818102048114891517156114445760018901808a1161142f57808281020482148115171561142f576106d08261138794936106d79302908c028a89611014565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b81101561141a5761140d5791611407939160016114019460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611007565b96610f22565b956112f8565b5050509561140790610f22565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b50965097505091505062ffffff91505460181c16111560001461148657600091600360ff19825416179055565b60019150565b506001955050505050565b9350965050506001919250146000146114c557600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x187" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56" - ], - "returns": {}, - "timestamp": 1694507612, - "chain": 80001, - "multi": false, - "commit": "5e71aab" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507650.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507650.json deleted file mode 100644 index 9389e85b..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694507650.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0x24D89a6DE2A256Aa2aBf6e509EFf946d0220743a", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1991ce", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e1918261012283396080518261110b015260a0518261112e015260c051826111a0015260e051826111c6015251816110ea0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098c578063333daf921461094f5780633a871cdd1461090c5780634f1169a8146108b3578063666d05f4146108345780638025aa49146105c157806384b0196e146104ea5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f88565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e22565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e38565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f88565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fcb565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f71565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611007565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e22565b506024356001600160401b03811161034e5760209361038c91369101610df0565b505051908152f35b50346101225780600319360112610122576103ad610e38565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b5090602092836003193601126101225780356001600160401b03811161034e576104449036908301610df0565b505033825281845262ffffff8383205416156104b957503381528083528181205460601c5b6001600160a01b039081163381146104aa57808352600190818652848420338552865283858120558352845282822033835284528282205460181c16610469565b82808581883382525281205580f35b825162461bcd60e51b8152908101849052600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b5090346105be57806003193601126105be579080519061050982610ebf565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057682519261053d84610ebf565b600193848152603160f81b87820152610569825196600f60f81b885260e08989015260e0880190610e4e565b9186830390870152610e4e565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ab5785870386f35b835187529581019592810192840161059e565b80fd5b5034610122576060366003190112610122576105db610e38565b906044356001600160401b038111610830576105fa9036908601610df0565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c81101561081d5761063b9015610f88565b875b6041808d048210156107c95761068e8b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068681610e8e565b5190206110e8565b818302918383048114841517156107b55760019283850180861161079f5782810292818404149015171561078a578f6106dd93926106d7926106d09289611014565b369161102c565b90611072565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077457938093929161071b61076f979615610fcb565b60ff19161790558b5288528a8a20898b52885261076a61074c8d8d8d62ffffff918291205416915460381c16610f71565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f22565b61063d565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f2578380f35b60016108169360ff19161782556102c865ffffffffffff80925460301c1642611007565b8180808380f35b634e487b7160e01b895260218d52602489fd5b8380fd5b50346101225760603660031901126101225761084e610e38565b6044356001600160a01b0381811692918390036108af578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089c57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105be57816003193601126105be57816108ce610e22565b916108d7610e38565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105be578135936001600160401b038511610122576101609085360301126105be5750602092610948910161122e565b9051908152f35b5090346105be57816003193601126105be57602435906001600160401b0382116105be575060209261098391369101610df0565b50505160018152f35b5090602080600319360112610122576001600160401b03928435848111610830576109ba9036908701610df0565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109eb87610efb565b966109f886519889610eda565b808852868089019160051b83010191848311610dc9578701905b828210610dcd57505050848101358781116108305781019180601f84011215610830578235610a4081610efb565b93610a4d87519586610eda565b818552878086019260051b820101928311610dc95787809101915b838310610db15750505050610a7e848201610f12565b956060809201359765ffffffffffff891689036108af578151845103610d7c5733855284875262ffffff97888787205416610d4757338652858852610adf33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d05576001600160a01b0380610afd8387610f47565b511615610ccb578a610b0f8389610f47565b511615610c935780610b218387610f47565b511688526001808b52898920338a528b528b8a8a205416610c50578b610b47848a610f47565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c3a578f908f8f8f929589610b918f9c610c359d819d9b99610bff9d9b87528b52868b01998a52610f47565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd58388610f47565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c0a8289610f47565b5116338952888b52898920908c610c25835492828416610f71565b169062ffffff1916179055610f22565b610ae1565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbc84610f12565b8152019101908790610a68565b8580fd5b81356001600160a01b0381168103610dec578152908701908701610a12565b8680fd5b9181601f84011215610e1d578235916001600160401b038311610e1d5760208381860195010111610e1d57565b600080fd5b600435906001600160a01b0382168203610e1d57565b602435906001600160a01b0382168203610e1d57565b919082519283825260005b848110610e7a575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e59565b606081019081106001600160401b03821117610ea957604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea957604052565b90601f801991011681019081106001600160401b03821117610ea957604052565b6001600160401b038111610ea95760051b60200190565b359062ffffff82168203610e1d57565b6000198114610f315760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5b5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3157565b15610f8f57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd257565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3157565b90939293848311610e1d578411610e1d578101920390565b9291926001600160401b038211610ea95760405191611055601f8201601f191660200184610eda565b829481845281830111610e1d578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110db57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611175575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611156565b903590601e1981360301821215610e1d57018035906001600160401b038211610e1d57602001918136038313610e1d57565b9061123c60608301836111fc565b611283608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610eda565b51902080600052600290816020526040600020336000526020526040600020906000602052604060002082549560ff871696600497888110156114cc578061149757505065ffffffffffff825460301c1661148c57806101406112e79201906111fc565b919062ffffff855460381c16946000955b60418086048810156114595761134560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068681610e8e565b9088818102048114891517156114445760018901808a1161142f57808281020482148115171561142f576106d08261138794936106d79302908c028a89611014565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b81101561141a5761140d5791611407939160016114019460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611007565b96610f22565b956112f8565b5050509561140790610f22565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b50965097505091505062ffffff91505460181c16111560001461148657600091600360ff19825416179055565b60019150565b506001955050505050565b9350965050506001919250146000146114c557600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x187" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56", - "transactionIndex": "0x5f", - "blockHash": "0x92f362153a0b4884b4a94d697e58c2be150d5197650b55cc449c42ef0c055959", - "blockNumber": "0x262d483", - "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x14b0179", - "gasUsed": "0x12830c", - "contractAddress": null, - "logs": [ - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", - "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" - ], - "data": "0x00000000000000000000000000000000000000000000000000067717d086770800000000000000000000000000000000000000000000000001e6b3ac97e2a1c100000000000000000000000000000000000000000000016d77d92856767d529c00000000000000000000000000000000000000000000000001e03c94c75c2ab900000000000000000000000000000000000000000000016d77df9f6e4703c9a4", - "blockHash": "0x92f362153a0b4884b4a94d697e58c2be150d5197650b55cc449c42ef0c055959", - "blockNumber": "0x262d483", - "transactionHash": "0xc4f4293a92e1fcc442c5051b09972484be79f9068efc778d259ae233381d6b56", - "transactionIndex": "0x5f", - "logIndex": "0x20c", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x59682f28" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1694507650, - "chain": 80001, - "multi": false, - "commit": "5e71aab" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884855.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884855.json deleted file mode 100644 index 89eb68cd..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884855.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1b1184", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e0918261012283396080518261110a015260a0518261112d015260c0518261119f015260e051826111c5015251816110e90152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098b578063333daf921461094e5780633a871cdd1461090b5780634f1169a8146108b2578063666d05f4146108335780638025aa49146105c457806384b0196e146104ed5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f87565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e21565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e37565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f87565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fca565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f70565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611006565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e21565b506024356001600160401b03811161034e5760209361038c91369101610def565b505051908152f35b50346101225780600319360112610122576103ad610e37565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b506020928360031936011261034e5780356001600160401b0381116104e9576104439036908301610def565b505033835282845262ffffff8284205416156104ba57503382528183528082205460601c5b6001600160a01b03908116903382146104ab5781845260019081865283852033865286528385205460181c16918452845281832033845284528282812055610468565b50508180933382525281205580f35b83606492519162461bcd60e51b8352820152600b60248201526a139bdd08195b98589b195960aa1b6044820152fd5b8380fd5b5090346105c157806003193601126105c1579080519061050c82610ebe565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057982519261054084610ebe565b600193848152603160f81b8782015261056c825196600f60f81b885260e08989015260e0880190610e4d565b9186830390870152610e4d565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ae5785870386f35b83518752958101959281019284016105a1565b80fd5b5034610122576060366003190112610122576105de610e37565b906044356001600160401b0381116104e9576105fd9036908601610def565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156108205761063e9015610f87565b875b6041808d048210156107cc576106918b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068981610e8d565b5190206110e7565b818302918383048114841517156107b8576001928385018086116107a25782810292818404149015171561078d578f6106e093926106da926106d39289611013565b369161102b565b90611071565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077757938093929161071e610772979615610fca565b60ff19161790558b5288528a8a20898b52885261076d61074f8d8d8d62ffffff918291205416915460381c16610f70565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f21565b610640565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f5578380f35b60016108199360ff19161782556102c865ffffffffffff80925460301c1642611006565b8180808380f35b634e487b7160e01b895260218d52602489fd5b50346101225760603660031901126101225761084d610e37565b6044356001600160a01b0381811692918390036108ae578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089b57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105c157816003193601126105c157816108cd610e21565b916108d6610e37565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105c1578135936001600160401b038511610122576101609085360301126105c15750602092610947910161122d565b9051908152f35b5090346105c157816003193601126105c157602435906001600160401b0382116105c1575060209261098291369101610def565b50505160018152f35b5090602080600319360112610122576001600160401b039284358481116104e9576109b99036908701610def565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109ea87610efa565b966109f786519889610ed9565b808852868089019160051b83010191848311610dc8578701905b828210610dcc57505050848101358781116104e95781019180601f840112156104e9578235610a3f81610efa565b93610a4c87519586610ed9565b818552878086019260051b820101928311610dc85787809101915b838310610db05750505050610a7d848201610f11565b956060809201359765ffffffffffff891689036108ae578151845103610d7b5733855284875262ffffff97888787205416610d4657338652858852610ade33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d04576001600160a01b0380610afc8387610f46565b511615610cca578a610b0e8389610f46565b511615610c925780610b208387610f46565b511688526001808b52898920338a528b528b8a8a205416610c4f578b610b46848a610f46565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c39578f908f8f8f929589610b908f9c610c349d819d9b99610bfe9d9b87528b52868b01998a52610f46565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd48388610f46565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c098289610f46565b5116338952888b52898920908c610c24835492828416610f70565b169062ffffff1916179055610f21565b610ae0565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbb84610f11565b8152019101908790610a67565b8580fd5b81356001600160a01b0381168103610deb578152908701908701610a11565b8680fd5b9181601f84011215610e1c578235916001600160401b038311610e1c5760208381860195010111610e1c57565b600080fd5b600435906001600160a01b0382168203610e1c57565b602435906001600160a01b0382168203610e1c57565b919082519283825260005b848110610e79575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e58565b606081019081106001600160401b03821117610ea857604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea857604052565b90601f801991011681019081106001600160401b03821117610ea857604052565b6001600160401b038111610ea85760051b60200190565b359062ffffff82168203610e1c57565b6000198114610f305760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3057565b15610f8e57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd157565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3057565b90939293848311610e1c578411610e1c578101920390565b9291926001600160401b038211610ea85760405191611054601f8201601f191660200184610ed9565b829481845281830111610e1c578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110da57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611174575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611155565b903590601e1981360301821215610e1c57018035906001600160401b038211610e1c57602001918136038313610e1c57565b9061123b60608301836111fb565b611282608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610ed9565b51902080600052600290816020526040600020336000526020526040600020906000602052604060002082549560ff871696600497888110156114cb578061149657505065ffffffffffff825460301c1661148b57806101406112e69201906111fb565b919062ffffff855460381c16946000955b60418086048810156114585761134460405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068981610e8d565b9088818102048114891517156114435760018901808a1161142e57808281020482148115171561142e576106d38261138694936106da9302908c028a89611013565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b8110156114195761140c5791611406939160016114009460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611006565b96610f21565b956112f7565b5050509561140690610f21565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b50965097505091505062ffffff91505460181c16111560001461148557600091600360ff19825416179055565b60019150565b506001955050505050565b9350965050506001919250146000146114c457600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x18b" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d" - ], - "returns": {}, - "timestamp": 1694884855, - "chain": 80001, - "multi": false, - "commit": "5e71aab" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884893.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884893.json deleted file mode 100644 index 2273f643..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1694884893.json +++ /dev/null @@ -1,65 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0x4fd47D861c349bD49DC61341a922cb72F9dF7E8d", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1b1184", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e0918261012283396080518261110a015260a0518261112d015260c0518261119f015260e051826111c5015251816110e90152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098b578063333daf921461094e5780633a871cdd1461090b5780634f1169a8146108b2578063666d05f4146108335780638025aa49146105c457806384b0196e146104ed5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f87565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e21565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e37565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f87565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fca565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f70565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611006565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e21565b506024356001600160401b03811161034e5760209361038c91369101610def565b505051908152f35b50346101225780600319360112610122576103ad610e37565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b506020928360031936011261034e5780356001600160401b0381116104e9576104439036908301610def565b505033835282845262ffffff8284205416156104ba57503382528183528082205460601c5b6001600160a01b03908116903382146104ab5781845260019081865283852033865286528385205460181c16918452845281832033845284528282812055610468565b50508180933382525281205580f35b83606492519162461bcd60e51b8352820152600b60248201526a139bdd08195b98589b195960aa1b6044820152fd5b8380fd5b5090346105c157806003193601126105c1579080519061050c82610ebe565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057982519261054084610ebe565b600193848152603160f81b8782015261056c825196600f60f81b885260e08989015260e0880190610e4d565b9186830390870152610e4d565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ae5785870386f35b83518752958101959281019284016105a1565b80fd5b5034610122576060366003190112610122576105de610e37565b906044356001600160401b0381116104e9576105fd9036908601610def565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156108205761063e9015610f87565b875b6041808d048210156107cc576106918b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068981610e8d565b5190206110e7565b818302918383048114841517156107b8576001928385018086116107a25782810292818404149015171561078d578f6106e093926106da926106d39289611013565b369161102b565b90611071565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077757938093929161071e610772979615610fca565b60ff19161790558b5288528a8a20898b52885261076d61074f8d8d8d62ffffff918291205416915460381c16610f70565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f21565b610640565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f5578380f35b60016108199360ff19161782556102c865ffffffffffff80925460301c1642611006565b8180808380f35b634e487b7160e01b895260218d52602489fd5b50346101225760603660031901126101225761084d610e37565b6044356001600160a01b0381811692918390036108ae578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089b57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105c157816003193601126105c157816108cd610e21565b916108d6610e37565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105c1578135936001600160401b038511610122576101609085360301126105c15750602092610947910161122d565b9051908152f35b5090346105c157816003193601126105c157602435906001600160401b0382116105c1575060209261098291369101610def565b50505160018152f35b5090602080600319360112610122576001600160401b039284358481116104e9576109b99036908701610def565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109ea87610efa565b966109f786519889610ed9565b808852868089019160051b83010191848311610dc8578701905b828210610dcc57505050848101358781116104e95781019180601f840112156104e9578235610a3f81610efa565b93610a4c87519586610ed9565b818552878086019260051b820101928311610dc85787809101915b838310610db05750505050610a7d848201610f11565b956060809201359765ffffffffffff891689036108ae578151845103610d7b5733855284875262ffffff97888787205416610d4657338652858852610ade33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d04576001600160a01b0380610afc8387610f46565b511615610cca578a610b0e8389610f46565b511615610c925780610b208387610f46565b511688526001808b52898920338a528b528b8a8a205416610c4f578b610b46848a610f46565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c39578f908f8f8f929589610b908f9c610c349d819d9b99610bfe9d9b87528b52868b01998a52610f46565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd48388610f46565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c098289610f46565b5116338952888b52898920908c610c24835492828416610f70565b169062ffffff1916179055610f21565b610ae0565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbb84610f11565b8152019101908790610a67565b8580fd5b81356001600160a01b0381168103610deb578152908701908701610a11565b8680fd5b9181601f84011215610e1c578235916001600160401b038311610e1c5760208381860195010111610e1c57565b600080fd5b600435906001600160a01b0382168203610e1c57565b602435906001600160a01b0382168203610e1c57565b919082519283825260005b848110610e79575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e58565b606081019081106001600160401b03821117610ea857604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea857604052565b90601f801991011681019081106001600160401b03821117610ea857604052565b6001600160401b038111610ea85760051b60200190565b359062ffffff82168203610e1c57565b6000198114610f305760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3057565b15610f8e57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd157565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3057565b90939293848311610e1c578411610e1c578101920390565b9291926001600160401b038211610ea85760405191611054601f8201601f191660200184610ed9565b829481845281830111610e1c578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110da57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611174575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611155565b903590601e1981360301821215610e1c57018035906001600160401b038211610e1c57602001918136038313610e1c57565b9061123b60608301836111fb565b611282608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610ed9565b51902080600052600290816020526040600020336000526020526040600020906000602052604060002082549560ff871696600497888110156114cb578061149657505065ffffffffffff825460301c1661148b57806101406112e69201906111fb565b919062ffffff855460381c16946000955b60418086048810156114585761134460405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068981610e8d565b9088818102048114891517156114435760018901808a1161142e57808281020482148115171561142e576106d38261138694936106da9302908c028a89611013565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b8110156114195761140c5791611406939160016114009460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611006565b96610f21565b956112f7565b5050509561140690610f21565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b50965097505091505062ffffff91505460181c16111560001461148557600091600360ff19825416179055565b60019150565b506001955050505050565b9350965050506001919250146000146114c457600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x18b" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [ - { - "transactionHash": "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d", - "transactionIndex": "0x9c", - "blockHash": "0xcd65d739a166cbee1c47842f7764c871db864c03c0674cd13b8df6477c9d2578", - "blockNumber": "0x26523e0", - "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x14f3b13", - "gasUsed": "0x128222", - "contractAddress": null, - "logs": [ - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", - "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" - ], - "data": "0x0000000000000000000000000000000000000000000000000008e08e534373e0000000000000000000000000000000000000000000000000012032203cd574420000000000000000000000000000000000000000000001cc1a85878c43cd08d500000000000000000000000000000000000000000000000001175191e99200620000000000000000000000000000000000000000000001cc1a8e681a97107cb5", - "blockHash": "0xcd65d739a166cbee1c47842f7764c871db864c03c0674cd13b8df6477c9d2578", - "blockNumber": "0x26523e0", - "transactionHash": "0xd719ea3aabf951236f9988dea70edfc8586fc4459f9970f0aa953600f29f4d9d", - "transactionIndex": "0x9c", - "logIndex": "0x2e9", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x7ac91aff" - } - ], - "libraries": [], - "pending": [], - "returns": {}, - "timestamp": 1694884893, - "chain": 80001, - "multi": false, - "commit": "5e71aab" -} \ No newline at end of file diff --git a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305019.json b/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305019.json deleted file mode 100644 index 8db300b0..00000000 --- a/broadcast/DeployWeightedECDSA.s.sol/80001/run-1695305019.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "transactions": [ - { - "hash": "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70", - "transactionType": "CREATE2", - "contractName": "WeightedECDSAValidator", - "contractAddress": "0xa24C32F45092AfB64F79CF0D31361000D5b70BD5", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x19954d", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461011c57306080524660a0526040906001600160401b03908083018281118282101761010657835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010657602060019260a09587528381520192603160f81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516114e4918261012283396080518261110a015260a0518261112d015260c0518261119f015260e051826111c5015251816110e90152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6040608081526004908136101561001557600080fd5b600090813560e01c80630c9595561461098b578063333daf921461094e5780633a871cdd1461090b5780634f1169a8146108b2578063666d05f4146108335780638025aa49146105c457806384b0196e146104ed5780638fc925aa146104175780639469d148146103945780639ea9bd5914610352578063b2e2c99b14610186578063e6f68b9f146101265763fb6f93f9146100b057600080fd5b34610122576020366003190112610122578235825260026020528082203383526020528120805460ff81168481101561010f57906100fa8260029315908115610104575b50610f87565b60ff191617905580f35b6001915014866100f4565b634e487b7160e01b845260218552602484fd5b5080fd5b50346101225760203660031901126101225760809181906001600160a01b0361014d610e21565b16815280602052205481519162ffffff80831684528260181c16602084015265ffffffffffff8260301c169083015260601c6060820152f35b5082903461034e578060031936011261034e578135906101a4610e37565b338552600160209081528286206001600160a01b039092168087529181528286205462ffffff939190841615610315578487526002815281872083885281528187209460ff86541687811015610302576101fe9015610f87565b8752600381528187203388528152818720838852815281872080549660ff88169060028210156102ef57509061023689939215610fca565b600160ff1980991617905533825260018152828220848352815261028661026886858520541687895460381c16610f70565b875462ffffff60381b191660389190911b62ffffff60381b16178755565b85549382525285209180835460181c16908260381c1610156102a6578480f35b6102e793600191161782556102c865ffffffffffff80925460301c1642611006565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b818080808480f35b634e487b7160e01b8a5260219052602489fd5b634e487b7160e01b895260218852602489fd5b8590606492519162461bcd60e51b8352820152601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152fd5b8280fd5b503461012257806003193601126101225761036b610e21565b506024356001600160401b03811161034e5760209361038c91369101610def565b505051908152f35b50346101225780600319360112610122576103ad610e37565b83358352600260209081528284206001600160a01b039092168452528082205481519260ff82169085821015610404576060858562ffffff8686845265ffffffffffff8160081c16602085015260381c1690820152f35b634e487b7160e01b815260218652602490fd5b506020928360031936011261034e5780356001600160401b0381116104e9576104439036908301610def565b505033835282845262ffffff8284205416156104ba57503382528183528082205460601c5b6001600160a01b03908116903382146104ab5781845260019081865283852033865286528385205460181c16918452845281832033845284528282812055610468565b50508180933382525281205580f35b83606492519162461bcd60e51b8352820152600b60248201526a139bdd08195b98589b195960aa1b6044820152fd5b8380fd5b5090346105c157806003193601126105c1579080519061050c82610ebe565b60168252602092752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8484015261057982519261054084610ebe565b600193848152603160f81b8782015261056c825196600f60f81b885260e08989015260e0880190610e4d565b9186830390870152610e4d565b4660608501523060808501528160a085015283810360c0850152846060519182815201946080925b8281106105ae5785870386f35b83518752958101959281019284016105a1565b80fd5b5034610122576060366003190112610122576105de610e37565b906044356001600160401b0381116104e9576105fd9036908601610def565b939085358083526002906020918083528585209360018060a01b038098169485875284528686209760ff91828a54168c8110156108205761063e9015610f87565b875b6041808d048210156107cc576106918b8051898b8201927f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd84528201528d815261068981610e8d565b5190206110e7565b818302918383048114841517156107b8576001928385018086116107a25782810292818404149015171561078d578f6106e093926106da926106d39289611013565b369161102b565b90611071565b878b5260038952848c8c20911690818c5289528b8b208a8c5289528b8b2080548781168981101561077757938093929161071e610772979615610fca565b60ff19161790558b5288528a8a20898b52885261076d61074f8d8d8d62ffffff918291205416915460381c16610f70565b8d5462ffffff60381b191660389190911b62ffffff60381b16178d55565b610f21565b610640565b50508f8c6021602492634e487b7160e01b835252fd5b508f8c6011602492634e487b7160e01b835252fd5b50508f8c6011602492634e487b7160e01b835252fd5b8f8c6011602492634e487b7160e01b835252fd5b89898d8d838c835494825252832062ffffff80825460181c16908460381c1610156107f5578380f35b60016108199360ff19161782556102c865ffffffffffff80925460301c1642611006565b8180808380f35b634e487b7160e01b895260218d52602489fd5b50346101225760603660031901126101225761084d610e37565b6044356001600160a01b0381811692918390036108ae578535855260036020528385209116845260205281832090835260205260ff8183205416905191600282101561089b57602083838152f35b634e487b7160e01b815260218452602490fd5b8480fd5b5090346105c157816003193601126105c157816108cd610e21565b916108d6610e37565b60018060a01b0380941682526001602052838383209116825260205220549082519162ffffff8116835260181c166020820152f35b5082600319926060843601126105c1578135936001600160401b038511610122576101609085360301126105c15750602092610947910161122d565b9051908152f35b5090346105c157816003193601126105c157602435906001600160401b0382116105c1575060209261098291369101610def565b50505160018152f35b5090602080600319360112610122576001600160401b039284358481116104e9576109b99036908701610def565b8194910160808582031261012257843586811161034e5785019481601f8701121561034e578535956109ea87610efa565b966109f786519889610ed9565b808852868089019160051b83010191848311610dc8578701905b828210610dcc57505050848101358781116104e95781019180601f840112156104e9578235610a3f81610efa565b93610a4c87519586610ed9565b818552878086019260051b820101928311610dc85787809101915b838310610db05750505050610a7d848201610f11565b956060809201359765ffffffffffff891689036108ae578151845103610d7b5733855284875262ffffff97888787205416610d4657338652858852610ade33888820906bffffffffffffffffffffffff82549181199060601b169116179055565b855b8351811015610d04576001600160a01b0380610afc8387610f46565b511615610cca578a610b0e8389610f46565b511615610c925780610b208387610f46565b511688526001808b52898920338a528b528b8a8a205416610c4f578b610b46848a610f46565b511690338a52898c528a8a2054881c908b51928c840184811089821117610c39578f908f8f8f929589610b908f9c610c349d819d9b99610bfe9d9b87528b52868b01998a52610f46565b511684528252822033909252528d8d209251835492516001600160b81b031990931691161760189190911b6301000000600160b81b0316179055610bd48388610f46565b5116338a52898c528a8a20906bffffffffffffffffffffffff82549181199060601b169116179055565b8a610c098289610f46565b5116338952888b52898920908c610c24835492828416610f70565b169062ffffff1916179055610f21565b610ae0565b50508f8b6041602492634e487b7160e01b835252fd5b895162461bcd60e51b8152808f018c9052601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b885162461bcd60e51b8152808e018b9052601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b885162461bcd60e51b8152808e018b905260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b33875286895287872080546bffffffffffffffffff000000191660308d901b6bffffffffffff0000000000001617601884901b65ffffff000000161790558680f35b865162461bcd60e51b8152808c01899052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b855162461bcd60e51b8152808b01889052600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b8190610dbb84610f11565b8152019101908790610a67565b8580fd5b81356001600160a01b0381168103610deb578152908701908701610a11565b8680fd5b9181601f84011215610e1c578235916001600160401b038311610e1c5760208381860195010111610e1c57565b600080fd5b600435906001600160a01b0382168203610e1c57565b602435906001600160a01b0382168203610e1c57565b919082519283825260005b848110610e79575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e58565b606081019081106001600160401b03821117610ea857604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117610ea857604052565b90601f801991011681019081106001600160401b03821117610ea857604052565b6001600160401b038111610ea85760051b60200190565b359062ffffff82168203610e1c57565b6000198114610f305760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015610f5a5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b91909162ffffff80809416911601918211610f3057565b15610f8e57565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b15610fd157565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610f3057565b90939293848311610e1c578411610e1c578101920390565b9291926001600160401b038211610ea85760405191611054601f8201601f191660200184610ed9565b829481845281830111610e1c578281602093846000960137010152565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d156110da57606052604052565b638baa579f90526004601cfd5b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611174575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611155565b903590601e1981360301821215610e1c57018035906001600160401b038211610e1c57602001918136038313610e1c57565b9061123b60608301836111fb565b611282608060405183819460208301966040885281606085015284840137600083828401015260208801356040830152601f80199101168101036060810184520182610ed9565b519020908160005260029081602052604060002033600052602052604060002092600060205260406000209380549560ff871696600497888110156114cf578061149957505065ffffffffffff865460301c1661148d57806101406112e89201906111fb565b919062ffffff825460381c16946000955b604180860488101561145a5761134660405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd82528960408201526040815261068981610e8d565b9088818102048114891517156114455760018901808a11611430578082810204821481151715611430576106d38261138894936106da9302908c028a89611013565b86600052600360205260406000209060018060a01b031690816000526020526040600020336000526020526040600020805460ff81168b81101561141b5761140e5791611408939160016114029460ff1916179055600052600160205260406000203360005260205262ffffff6040600020541690611006565b96610f21565b956112f9565b5050509561140890610f21565b60218e634e487b7160e01b6000525260246000fd5b60118d634e487b7160e01b6000525260246000fd5b60118c634e487b7160e01b6000525260246000fd5b5097955097505091505062ffffff9250600360ff198254161790555460181c16111560001461148857600090565b600190565b50505092505050600190565b935096505092506001919350146000146114c857600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b602189634e487b7160e01b6000525260246000fd", - "nonce": "0x190" - }, - "additionalContracts": [], - "isFixedGasLimit": false - } - ], - "receipts": [], - "libraries": [], - "pending": [ - "0xa634526a3e1e346707cc64143ee18503821c53879519fc0b9e60da68af444e70" - ], - "returns": {}, - "timestamp": 1695305019, - "chain": 80001, - "multi": false, - "commit": "a6ecd6a" -} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/1/run-1698380171.json b/broadcast/StakeToFactory.s.sol/1/run-1698380171.json new file mode 100644 index 00000000..208d9fc7 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/1/run-1698380171.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x15baf6952441bd8ca43eb42a10a3e98a74100260e2e527da8b2a4a2ea645b69e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10735", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0x1d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x15baf6952441bd8ca43eb42a10a3e98a74100260e2e527da8b2a4a2ea645b69e" + ], + "returns": {}, + "timestamp": 1698380171, + "chain": 1, + "multi": false, + "commit": "e1104e2" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/1/run-1698380190.json b/broadcast/StakeToFactory.s.sol/1/run-1698380190.json new file mode 100644 index 00000000..4e182638 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/1/run-1698380190.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0x15baf6952441bd8ca43eb42a10a3e98a74100260e2e527da8b2a4a2ea645b69e", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10735", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0x1d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x15baf6952441bd8ca43eb42a10a3e98a74100260e2e527da8b2a4a2ea645b69e", + "transactionIndex": "0x18", + "blockHash": "0xf59385b537b0e2acb71b18170ed0813cab85dde1cb4ff40c876cbddb6a307913", + "blockNumber": "0x1195bbc", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x3104e1", + "gasUsed": "0xb3f9", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x0000000000000000000000000000000000000000000000000186cc6acd4b00000000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0xf59385b537b0e2acb71b18170ed0813cab85dde1cb4ff40c876cbddb6a307913", + "blockNumber": "0x1195bbc", + "transactionHash": "0x15baf6952441bd8ca43eb42a10a3e98a74100260e2e527da8b2a4a2ea645b69e", + "transactionIndex": "0x18", + "logIndex": "0x80", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x451eeee47" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698380190, + "chain": 1, + "multi": false, + "commit": "e1104e2" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/5/run-1698121485.json b/broadcast/StakeToFactory.s.sol/5/run-1698121485.json new file mode 100644 index 00000000..4a054e6d --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/5/run-1698121485.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xef8831029f1cb39a3140eb95cf0b2634874758bebdd76991b9b42a834a399342", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x11734", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0x50", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xef8831029f1cb39a3140eb95cf0b2634874758bebdd76991b9b42a834a399342" + ], + "returns": {}, + "timestamp": 1698121485, + "chain": 5, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/5/run-1698121504.json b/broadcast/StakeToFactory.s.sol/5/run-1698121504.json new file mode 100644 index 00000000..c3c118e0 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/5/run-1698121504.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0xef8831029f1cb39a3140eb95cf0b2634874758bebdd76991b9b42a834a399342", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x11734", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0x50", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xef8831029f1cb39a3140eb95cf0b2634874758bebdd76991b9b42a834a399342", + "transactionIndex": "0x1", + "blockHash": "0x469ebaa7ddc2b84eda6cbde5f200c089827cbcd7b57074881c0aa60aa22307f8", + "blockNumber": "0x9761c1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x110f1", + "gasUsed": "0xbee9", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a00010000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0x469ebaa7ddc2b84eda6cbde5f200c089827cbcd7b57074881c0aa60aa22307f8", + "blockNumber": "0x9761c1", + "transactionHash": "0xef8831029f1cb39a3140eb95cf0b2634874758bebdd76991b9b42a834a399342", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e1e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698121504, + "chain": 5, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/5/run-latest.json b/broadcast/StakeToFactory.s.sol/5/run-latest.json new file mode 100644 index 00000000..c3c118e0 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/5/run-latest.json @@ -0,0 +1,64 @@ +{ + "transactions": [ + { + "hash": "0xef8831029f1cb39a3140eb95cf0b2634874758bebdd76991b9b42a834a399342", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x11734", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0x50", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xef8831029f1cb39a3140eb95cf0b2634874758bebdd76991b9b42a834a399342", + "transactionIndex": "0x1", + "blockHash": "0x469ebaa7ddc2b84eda6cbde5f200c089827cbcd7b57074881c0aa60aa22307f8", + "blockNumber": "0x9761c1", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x110f1", + "gasUsed": "0xbee9", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a00010000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0x469ebaa7ddc2b84eda6cbde5f200c089827cbcd7b57074881c0aa60aa22307f8", + "blockNumber": "0x9761c1", + "transactionHash": "0xef8831029f1cb39a3140eb95cf0b2634874758bebdd76991b9b42a834a399342", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e1e" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1698121504, + "chain": 5, + "multi": false, + "commit": "3358214" +} \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index d4dbafef..b7ff28f7 100644 --- a/foundry.toml +++ b/foundry.toml @@ -3,6 +3,7 @@ src = 'src' out = 'out' libs = ['lib'] solc_version = '0.8.21' +evm_version = 'paris' bytecode_hash = "none" cbor_metadata = false optimize = true @@ -11,4 +12,12 @@ runs = 1000000 [fuzz] runs = 1024 -# See more config options https://github.com/foundry-rs/foundry/tree/master/config +[etherscan] +mainnet = { key = "${ETHERSCAN_API_KEY}" } +goerli = { key = "${ETHERSCAN_API_KEY}" } +polygon = { key = "${POLYGONSCAN_API_KEY}" } +mumbai = { key = "${POLYGONSCAN_API_KEY}" } +base = { key = "${BASESCAN_API_KEY}" } +base-goerli = { key = "${BASESCAN_API_KEY}" } +arbitrum = { key = "${ARBISCAN_API_KEY}" } +arbitrum-goerli = { key = "${ARBISCAN_API_KEY}" } diff --git a/scripts/DeployRecovery.s.sol b/scripts/DeployRecovery.s.sol new file mode 100644 index 00000000..1fc502e5 --- /dev/null +++ b/scripts/DeployRecovery.s.sol @@ -0,0 +1,19 @@ +pragma solidity ^0.8.0; + +import "src/validator/WeightedECDSAValidator.sol"; +import "src/executor/RecoveryAction.sol"; +import "forge-std/Script.sol"; +import "forge-std/console.sol"; + +contract DeployRecovery is Script { + function run() public { + address deployer = vm.envAddress("DEPLOYER"); + vm.startBroadcast(deployer); + console.log("Deployer address: ", deployer); + //RecoveryAction action = new RecoveryAction{salt:0}(); + //console.log("Deploying RecoveryAction at address: ", address(action)); + WeightedECDSAValidator validator = new WeightedECDSAValidator{salt:0}(); + console.log("Deploying WeightedECDSAValidator at address: ", address(validator)); + vm.stopBroadcast(); + } +} From a7309c6ded2a68d5a9530cc83fdf036fea8d2fd4 Mon Sep 17 00:00:00 2001 From: taek Date: Fri, 15 Dec 2023 13:50:30 +0900 Subject: [PATCH 17/51] Deploy/sepolia (#61) * deployed on arbitrum sepolia * deployed on optimism sepolia * deployed on base sepolia --- .../11155420/run-1702555303.json | 223 ++++++++++ .../11155420/run-1702555310.json | 389 ++++++++++++++++++ .../11155420/run-latest.json | 389 ++++++++++++++++++ .../421614/run-1702555027.json | 212 ++++++++++ .../421614/run-1702555054.json | 212 ++++++++++ .../421614/run-1702555098.json | 212 ++++++++++ .../421614/run-1702555169.json | 389 ++++++++++++++++++ .../421614/run-latest.json | 389 ++++++++++++++++++ .../84532/run-1702563570.json | 223 ++++++++++ .../84532/run-1702563577.json | 389 ++++++++++++++++++ .../84532/run-latest.json | 389 ++++++++++++++++++ scripts/DeployDeterministic.s.sol | 3 +- 12 files changed, 3417 insertions(+), 2 deletions(-) create mode 100644 broadcast/DeployDeterministic.s.sol/11155420/run-1702555303.json create mode 100644 broadcast/DeployDeterministic.s.sol/11155420/run-1702555310.json create mode 100644 broadcast/DeployDeterministic.s.sol/11155420/run-latest.json create mode 100644 broadcast/DeployDeterministic.s.sol/421614/run-1702555027.json create mode 100644 broadcast/DeployDeterministic.s.sol/421614/run-1702555054.json create mode 100644 broadcast/DeployDeterministic.s.sol/421614/run-1702555098.json create mode 100644 broadcast/DeployDeterministic.s.sol/421614/run-1702555169.json create mode 100644 broadcast/DeployDeterministic.s.sol/421614/run-latest.json create mode 100644 broadcast/DeployDeterministic.s.sol/84532/run-1702563570.json create mode 100644 broadcast/DeployDeterministic.s.sol/84532/run-1702563577.json create mode 100644 broadcast/DeployDeterministic.s.sol/84532/run-latest.json diff --git a/broadcast/DeployDeterministic.s.sol/11155420/run-1702555303.json b/broadcast/DeployDeterministic.s.sol/11155420/run-1702555303.json new file mode 100644 index 00000000..bff2e913 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/11155420/run-1702555303.json @@ -0,0 +1,223 @@ +{ + "transactions": [ + { + "hash": "0x86d8eb613a262188679a366f3d8628403ae253ee7d71c7e5c3f2382b59298c26", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa64a1629c1432752bd1aed9ffd62df51547aeb218f73fdfcfc1ba53866ea0fd", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd1dc21cdb85b45c443ce86e54ecd0382105e1f6b5868af69e5d2d9908eb6cdda", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xac38202726678c60a00a029dc6ba14df55e489a0ebf6adce80d383d9b22de6a4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb4632f32b136ce7860c9f5583ea26562db1694f5a2d5bb9cc6b03da5de6947e3", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2d9f4e7e269375d92a9e854658faabc6be35ac8db7519377328c852fe62d367", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9fdfe2acf959ba087e19a0aa71a80d2cd09610467f773f907f3f5fea8d512dc5", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08d1acbe34b6977b0f046efb7d9756bc15386d879d9b59e5ab154af649f66c6c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x82b155249b6732939294c129b5b3f9719b7fcb636b446e669608edf12ddbf93f", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [ + "0x86d8eb613a262188679a366f3d8628403ae253ee7d71c7e5c3f2382b59298c26", + "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", + "0xfa64a1629c1432752bd1aed9ffd62df51547aeb218f73fdfcfc1ba53866ea0fd", + "0xd1dc21cdb85b45c443ce86e54ecd0382105e1f6b5868af69e5d2d9908eb6cdda", + "0xac38202726678c60a00a029dc6ba14df55e489a0ebf6adce80d383d9b22de6a4", + "0xb4632f32b136ce7860c9f5583ea26562db1694f5a2d5bb9cc6b03da5de6947e3", + "0xe2d9f4e7e269375d92a9e854658faabc6be35ac8db7519377328c852fe62d367", + "0x9fdfe2acf959ba087e19a0aa71a80d2cd09610467f773f907f3f5fea8d512dc5", + "0x08d1acbe34b6977b0f046efb7d9756bc15386d879d9b59e5ab154af649f66c6c", + "0x82b155249b6732939294c129b5b3f9719b7fcb636b446e669608edf12ddbf93f" + ], + "returns": {}, + "timestamp": 1702555303, + "chain": 11155420, + "multi": false, + "commit": "d3b15de" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/11155420/run-1702555310.json b/broadcast/DeployDeterministic.s.sol/11155420/run-1702555310.json new file mode 100644 index 00000000..8252bdc6 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/11155420/run-1702555310.json @@ -0,0 +1,389 @@ +{ + "transactions": [ + { + "hash": "0x86d8eb613a262188679a366f3d8628403ae253ee7d71c7e5c3f2382b59298c26", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa64a1629c1432752bd1aed9ffd62df51547aeb218f73fdfcfc1ba53866ea0fd", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd1dc21cdb85b45c443ce86e54ecd0382105e1f6b5868af69e5d2d9908eb6cdda", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xac38202726678c60a00a029dc6ba14df55e489a0ebf6adce80d383d9b22de6a4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb4632f32b136ce7860c9f5583ea26562db1694f5a2d5bb9cc6b03da5de6947e3", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2d9f4e7e269375d92a9e854658faabc6be35ac8db7519377328c852fe62d367", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9fdfe2acf959ba087e19a0aa71a80d2cd09610467f773f907f3f5fea8d512dc5", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08d1acbe34b6977b0f046efb7d9756bc15386d879d9b59e5ab154af649f66c6c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x82b155249b6732939294c129b5b3f9719b7fcb636b446e669608edf12ddbf93f", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x86d8eb613a262188679a366f3d8628403ae253ee7d71c7e5c3f2382b59298c26", + "transactionIndex": "0x1", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4c1b3d", + "gasUsed": "0x4b5604", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", + "transactionIndex": "0x2", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x567450", + "gasUsed": "0xa5913", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "transactionHash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xfa64a1629c1432752bd1aed9ffd62df51547aeb218f73fdfcfc1ba53866ea0fd", + "transactionIndex": "0x3", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b7106", + "gasUsed": "0x4fcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xd1dc21cdb85b45c443ce86e54ecd0382105e1f6b5868af69e5d2d9908eb6cdda", + "transactionIndex": "0x4", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x6e6230", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xac38202726678c60a00a029dc6ba14df55e489a0ebf6adce80d383d9b22de6a4", + "transactionIndex": "0x5", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x8a9673", + "gasUsed": "0x1c3443", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xb4632f32b136ce7860c9f5583ea26562db1694f5a2d5bb9cc6b03da5de6947e3", + "transactionIndex": "0x6", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa7d29d", + "gasUsed": "0x1d3c2a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xe2d9f4e7e269375d92a9e854658faabc6be35ac8db7519377328c852fe62d367", + "transactionIndex": "0x7", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa887ff", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x9fdfe2acf959ba087e19a0aa71a80d2cd09610467f773f907f3f5fea8d512dc5", + "transactionIndex": "0x8", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa93d61", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x08d1acbe34b6977b0f046efb7d9756bc15386d879d9b59e5ab154af649f66c6c", + "transactionIndex": "0x9", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa9f2c3", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x82b155249b6732939294c129b5b3f9719b7fcb636b446e669608edf12ddbf93f", + "transactionIndex": "0xa", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xaaa825", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1702555310, + "chain": 11155420, + "multi": false, + "commit": "d3b15de" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/11155420/run-latest.json b/broadcast/DeployDeterministic.s.sol/11155420/run-latest.json new file mode 100644 index 00000000..8252bdc6 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/11155420/run-latest.json @@ -0,0 +1,389 @@ +{ + "transactions": [ + { + "hash": "0x86d8eb613a262188679a366f3d8628403ae253ee7d71c7e5c3f2382b59298c26", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa64a1629c1432752bd1aed9ffd62df51547aeb218f73fdfcfc1ba53866ea0fd", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd1dc21cdb85b45c443ce86e54ecd0382105e1f6b5868af69e5d2d9908eb6cdda", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xac38202726678c60a00a029dc6ba14df55e489a0ebf6adce80d383d9b22de6a4", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xb4632f32b136ce7860c9f5583ea26562db1694f5a2d5bb9cc6b03da5de6947e3", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xe2d9f4e7e269375d92a9e854658faabc6be35ac8db7519377328c852fe62d367", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x9fdfe2acf959ba087e19a0aa71a80d2cd09610467f773f907f3f5fea8d512dc5", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x08d1acbe34b6977b0f046efb7d9756bc15386d879d9b59e5ab154af649f66c6c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x82b155249b6732939294c129b5b3f9719b7fcb636b446e669608edf12ddbf93f", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x86d8eb613a262188679a366f3d8628403ae253ee7d71c7e5c3f2382b59298c26", + "transactionIndex": "0x1", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4c1b3d", + "gasUsed": "0x4b5604", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", + "transactionIndex": "0x2", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x567450", + "gasUsed": "0xa5913", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "transactionHash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xfa64a1629c1432752bd1aed9ffd62df51547aeb218f73fdfcfc1ba53866ea0fd", + "transactionIndex": "0x3", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b7106", + "gasUsed": "0x4fcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xd1dc21cdb85b45c443ce86e54ecd0382105e1f6b5868af69e5d2d9908eb6cdda", + "transactionIndex": "0x4", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x6e6230", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xac38202726678c60a00a029dc6ba14df55e489a0ebf6adce80d383d9b22de6a4", + "transactionIndex": "0x5", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x8a9673", + "gasUsed": "0x1c3443", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xb4632f32b136ce7860c9f5583ea26562db1694f5a2d5bb9cc6b03da5de6947e3", + "transactionIndex": "0x6", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa7d29d", + "gasUsed": "0x1d3c2a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0xe2d9f4e7e269375d92a9e854658faabc6be35ac8db7519377328c852fe62d367", + "transactionIndex": "0x7", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa887ff", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x9fdfe2acf959ba087e19a0aa71a80d2cd09610467f773f907f3f5fea8d512dc5", + "transactionIndex": "0x8", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa93d61", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x08d1acbe34b6977b0f046efb7d9756bc15386d879d9b59e5ab154af649f66c6c", + "transactionIndex": "0x9", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa9f2c3", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x82b155249b6732939294c129b5b3f9719b7fcb636b446e669608edf12ddbf93f", + "transactionIndex": "0xa", + "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", + "blockNumber": "0x52097f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xaaa825", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1702555310, + "chain": 11155420, + "multi": false, + "commit": "d3b15de" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/421614/run-1702555027.json b/broadcast/DeployDeterministic.s.sol/421614/run-1702555027.json new file mode 100644 index 00000000..91a1a624 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/421614/run-1702555027.json @@ -0,0 +1,212 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x63a746", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xdeb7b", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6b800", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1972a2", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x25dfd1", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x268936", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0x5b73c5498c1e3b4dba84de0f1833c4a029d90519" + ], + "pending": [], + "returns": {}, + "timestamp": 1702555027, + "chain": 421614, + "multi": false, + "commit": "435cac7" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/421614/run-1702555054.json b/broadcast/DeployDeterministic.s.sol/421614/run-1702555054.json new file mode 100644 index 00000000..06ccc93a --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/421614/run-1702555054.json @@ -0,0 +1,212 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xda130", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x68f73", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x18f677", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x252d23", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x268936", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1702555054, + "chain": 421614, + "multi": false, + "commit": "435cac7" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/421614/run-1702555098.json b/broadcast/DeployDeterministic.s.sol/421614/run-1702555098.json new file mode 100644 index 00000000..8477a160 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/421614/run-1702555098.json @@ -0,0 +1,212 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xda130", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x68f73", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x18f677", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x252d23", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x268936", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0x5b73c5498c1e3b4dba84de0f1833c4a029d90519" + ], + "pending": [], + "returns": {}, + "timestamp": 1702555098, + "chain": 421614, + "multi": false, + "commit": "435cac7" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/421614/run-1702555169.json b/broadcast/DeployDeterministic.s.sol/421614/run-1702555169.json new file mode 100644 index 00000000..dfc6be0a --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/421614/run-1702555169.json @@ -0,0 +1,389 @@ +{ + "transactions": [ + { + "hash": "0x3ea118e66c3825d56a1887d4ebd2cb9109a4dc5a68d39c6bd3f3f30338eb332f", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xda130", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x76197e0644a99f6e94986acbc9288a2563d06422358bdfe4037de7374f4674b1", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x68f73", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2ca736b9a55443fe00baabe1999b29161d26b9913e540bbef2dc90703c19d58a", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x18f677", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7452080bacef7b9d91d7c29d12fc9c07e6de2e3b61b7d3dc2e226b9799baa269", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x252d23", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc17ff6cfaa324770bb930e9d9349c4dc3f40a25b246e3b5bf19f43764ee4c1a5", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x268936", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7db6254e1bbeb109659e681499b0948e39778595134d9967f359931919641329", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5fb09c906642af67ad6e3fa60ff73f95b8c3883d35dbc4611f6c244e1fd7d80b", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2844091168be5426a0a148c56d255f431fe23c11df4e5acc7923d95c02c8b2fd", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b7b71b5a110a8a52b68cab5d3366b7dabb98a29501c1d0022c43d4f69badbdd", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3ea118e66c3825d56a1887d4ebd2cb9109a4dc5a68d39c6bd3f3f30338eb332f", + "transactionIndex": "0x1", + "blockHash": "0xf5399cbe2c661f063057c431afc1234c669120e4d44948bc498215bb59d6aeca", + "blockNumber": "0x2af3c4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4b507c", + "gasUsed": "0x4b507c", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", + "transactionIndex": "0x1", + "blockHash": "0x5a9a7e7f113dff8b463cae7867883bddfb330b3b2a70269486ec7bad243e06e2", + "blockNumber": "0x2af3c6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa585b", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0x5a9a7e7f113dff8b463cae7867883bddfb330b3b2a70269486ec7bad243e06e2", + "blockNumber": "0x2af3c6", + "transactionHash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x76197e0644a99f6e94986acbc9288a2563d06422358bdfe4037de7374f4674b1", + "transactionIndex": "0x1", + "blockHash": "0xfa88946996e1a2a403172dbb73ec888a3aac886a1fdb309576149c4e10021af0", + "blockNumber": "0x2af3ca", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4fc64", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x2ca736b9a55443fe00baabe1999b29161d26b9913e540bbef2dc90703c19d58a", + "transactionIndex": "0x1", + "blockHash": "0x83e9c08a3993469219e3d0f6dcac4c676d10d631f8077ff8529297fc9ebe6798", + "blockNumber": "0x2af3cb", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12efd0", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x7452080bacef7b9d91d7c29d12fc9c07e6de2e3b61b7d3dc2e226b9799baa269", + "transactionIndex": "0x1", + "blockHash": "0x8fa49fbc6dbf0207e860efbc13657f2f91884ef0bc545a51f87848be0bdc4d1b", + "blockNumber": "0x2af3cf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1c3221", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xc17ff6cfaa324770bb930e9d9349c4dc3f40a25b246e3b5bf19f43764ee4c1a5", + "transactionIndex": "0x1", + "blockHash": "0xf0f5de24a02f77b3d5e53504528d1f06b3d138b0c9f7a711c6f15850a1bb9cfd", + "blockNumber": "0x2af3d2", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d39f4", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x7db6254e1bbeb109659e681499b0948e39778595134d9967f359931919641329", + "transactionIndex": "0x1", + "blockHash": "0xd55c2b8d6387f7760b079bab6430bc03ed67e508ee57c37b19a8998991ee81e1", + "blockNumber": "0x2af3d7", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x5fb09c906642af67ad6e3fa60ff73f95b8c3883d35dbc4611f6c244e1fd7d80b", + "transactionIndex": "0x5", + "blockHash": "0x147cff15bf8d346e9579c862396dfc639a52f86d756798f614204426ac24e508", + "blockNumber": "0x2af3dd", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x4bd29e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x2844091168be5426a0a148c56d255f431fe23c11df4e5acc7923d95c02c8b2fd", + "transactionIndex": "0x1", + "blockHash": "0x32168c537ec55262d0751194dcef3f94d8fd53e0e825b56eba9cee563d02d4d7", + "blockNumber": "0x2af3e0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x6b7b71b5a110a8a52b68cab5d3366b7dabb98a29501c1d0022c43d4f69badbdd", + "transactionIndex": "0x1", + "blockHash": "0xd5bec0559e0483832427dbd8e45fe78f8a3e94f33cabaafd067deb16ba4364b2", + "blockNumber": "0x2af3e3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1702555169, + "chain": 421614, + "multi": false, + "commit": "435cac7" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/421614/run-latest.json b/broadcast/DeployDeterministic.s.sol/421614/run-latest.json new file mode 100644 index 00000000..dfc6be0a --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/421614/run-latest.json @@ -0,0 +1,389 @@ +{ + "transactions": [ + { + "hash": "0x3ea118e66c3825d56a1887d4ebd2cb9109a4dc5a68d39c6bd3f3f30338eb332f", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xda130", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x76197e0644a99f6e94986acbc9288a2563d06422358bdfe4037de7374f4674b1", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x68f73", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2ca736b9a55443fe00baabe1999b29161d26b9913e540bbef2dc90703c19d58a", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x18f677", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7452080bacef7b9d91d7c29d12fc9c07e6de2e3b61b7d3dc2e226b9799baa269", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x252d23", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc17ff6cfaa324770bb930e9d9349c4dc3f40a25b246e3b5bf19f43764ee4c1a5", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x268936", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7db6254e1bbeb109659e681499b0948e39778595134d9967f359931919641329", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5fb09c906642af67ad6e3fa60ff73f95b8c3883d35dbc4611f6c244e1fd7d80b", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x2844091168be5426a0a148c56d255f431fe23c11df4e5acc7923d95c02c8b2fd", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x6b7b71b5a110a8a52b68cab5d3366b7dabb98a29501c1d0022c43d4f69badbdd", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x6d8b", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3ea118e66c3825d56a1887d4ebd2cb9109a4dc5a68d39c6bd3f3f30338eb332f", + "transactionIndex": "0x1", + "blockHash": "0xf5399cbe2c661f063057c431afc1234c669120e4d44948bc498215bb59d6aeca", + "blockNumber": "0x2af3c4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4b507c", + "gasUsed": "0x4b507c", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", + "transactionIndex": "0x1", + "blockHash": "0x5a9a7e7f113dff8b463cae7867883bddfb330b3b2a70269486ec7bad243e06e2", + "blockNumber": "0x2af3c6", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa585b", + "gasUsed": "0xa585b", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0x5a9a7e7f113dff8b463cae7867883bddfb330b3b2a70269486ec7bad243e06e2", + "blockNumber": "0x2af3c6", + "transactionHash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x76197e0644a99f6e94986acbc9288a2563d06422358bdfe4037de7374f4674b1", + "transactionIndex": "0x1", + "blockHash": "0xfa88946996e1a2a403172dbb73ec888a3aac886a1fdb309576149c4e10021af0", + "blockNumber": "0x2af3ca", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x4fc64", + "gasUsed": "0x4fc64", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x2ca736b9a55443fe00baabe1999b29161d26b9913e540bbef2dc90703c19d58a", + "transactionIndex": "0x1", + "blockHash": "0x83e9c08a3993469219e3d0f6dcac4c676d10d631f8077ff8529297fc9ebe6798", + "blockNumber": "0x2af3cb", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x12efd0", + "gasUsed": "0x12efd0", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x7452080bacef7b9d91d7c29d12fc9c07e6de2e3b61b7d3dc2e226b9799baa269", + "transactionIndex": "0x1", + "blockHash": "0x8fa49fbc6dbf0207e860efbc13657f2f91884ef0bc545a51f87848be0bdc4d1b", + "blockNumber": "0x2af3cf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1c3221", + "gasUsed": "0x1c3221", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0xc17ff6cfaa324770bb930e9d9349c4dc3f40a25b246e3b5bf19f43764ee4c1a5", + "transactionIndex": "0x1", + "blockHash": "0xf0f5de24a02f77b3d5e53504528d1f06b3d138b0c9f7a711c6f15850a1bb9cfd", + "blockNumber": "0x2af3d2", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1d39f4", + "gasUsed": "0x1d39f4", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x7db6254e1bbeb109659e681499b0948e39778595134d9967f359931919641329", + "transactionIndex": "0x1", + "blockHash": "0xd55c2b8d6387f7760b079bab6430bc03ed67e508ee57c37b19a8998991ee81e1", + "blockNumber": "0x2af3d7", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x5fb09c906642af67ad6e3fa60ff73f95b8c3883d35dbc4611f6c244e1fd7d80b", + "transactionIndex": "0x5", + "blockHash": "0x147cff15bf8d346e9579c862396dfc639a52f86d756798f614204426ac24e508", + "blockNumber": "0x2af3dd", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x4bd29e", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x2844091168be5426a0a148c56d255f431fe23c11df4e5acc7923d95c02c8b2fd", + "transactionIndex": "0x1", + "blockHash": "0x32168c537ec55262d0751194dcef3f94d8fd53e0e825b56eba9cee563d02d4d7", + "blockNumber": "0x2af3e0", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x6b7b71b5a110a8a52b68cab5d3366b7dabb98a29501c1d0022c43d4f69badbdd", + "transactionIndex": "0x1", + "blockHash": "0xd5bec0559e0483832427dbd8e45fe78f8a3e94f33cabaafd067deb16ba4364b2", + "blockNumber": "0x2af3e3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xb562", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1702555169, + "chain": 421614, + "multi": false, + "commit": "435cac7" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/84532/run-1702563570.json b/broadcast/DeployDeterministic.s.sol/84532/run-1702563570.json new file mode 100644 index 00000000..33b3386f --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/84532/run-1702563570.json @@ -0,0 +1,223 @@ +{ + "transactions": [ + { + "hash": "0xbd5adf2f4509fcf978b30e972686f40649e44f503fdcf5dcea26ba3f74175af8", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x07c800d20517dcd65b854823f3c09d386751e7d79fd10fcb25a4710128fc02df", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfe303b729b1f0821ebd3987afd261d35441ba3f365643e3088d1f2f4be0c2095", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc847a38d16f4c0237e503ee7a89018a4f9bc32d346d8edc7a2d74cd9da430e35", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7baf672ff22632c02dbaf58c3aaf660c1f8a61a418e07af12ea59ed1189e11eb", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xebe58b15e4224b2bb444744b8681836d827ad367a5888c3513d0d0e9bd603948", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5c34019256d9017d06c72a98c95d3e0fedba86c500c9bc1e26c7179f8dfc9e21", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa38124dd04b111e1e181c702c8a4eb7baec7f2b500f8dd6b6605778c416378c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x09a2dce0c95a4afbbe8f92e7224ca94addc65a4b3d437382a7f6f786c6fbad1a", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [ + "0xbd5adf2f4509fcf978b30e972686f40649e44f503fdcf5dcea26ba3f74175af8", + "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", + "0x07c800d20517dcd65b854823f3c09d386751e7d79fd10fcb25a4710128fc02df", + "0xfe303b729b1f0821ebd3987afd261d35441ba3f365643e3088d1f2f4be0c2095", + "0xc847a38d16f4c0237e503ee7a89018a4f9bc32d346d8edc7a2d74cd9da430e35", + "0x7baf672ff22632c02dbaf58c3aaf660c1f8a61a418e07af12ea59ed1189e11eb", + "0xebe58b15e4224b2bb444744b8681836d827ad367a5888c3513d0d0e9bd603948", + "0x5c34019256d9017d06c72a98c95d3e0fedba86c500c9bc1e26c7179f8dfc9e21", + "0xfa38124dd04b111e1e181c702c8a4eb7baec7f2b500f8dd6b6605778c416378c", + "0x09a2dce0c95a4afbbe8f92e7224ca94addc65a4b3d437382a7f6f786c6fbad1a" + ], + "returns": {}, + "timestamp": 1702563570, + "chain": 84532, + "multi": false, + "commit": "beee4e1" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/84532/run-1702563577.json b/broadcast/DeployDeterministic.s.sol/84532/run-1702563577.json new file mode 100644 index 00000000..9985c0b5 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/84532/run-1702563577.json @@ -0,0 +1,389 @@ +{ + "transactions": [ + { + "hash": "0xbd5adf2f4509fcf978b30e972686f40649e44f503fdcf5dcea26ba3f74175af8", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x07c800d20517dcd65b854823f3c09d386751e7d79fd10fcb25a4710128fc02df", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfe303b729b1f0821ebd3987afd261d35441ba3f365643e3088d1f2f4be0c2095", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc847a38d16f4c0237e503ee7a89018a4f9bc32d346d8edc7a2d74cd9da430e35", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7baf672ff22632c02dbaf58c3aaf660c1f8a61a418e07af12ea59ed1189e11eb", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xebe58b15e4224b2bb444744b8681836d827ad367a5888c3513d0d0e9bd603948", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5c34019256d9017d06c72a98c95d3e0fedba86c500c9bc1e26c7179f8dfc9e21", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa38124dd04b111e1e181c702c8a4eb7baec7f2b500f8dd6b6605778c416378c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x09a2dce0c95a4afbbe8f92e7224ca94addc65a4b3d437382a7f6f786c6fbad1a", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xbd5adf2f4509fcf978b30e972686f40649e44f503fdcf5dcea26ba3f74175af8", + "transactionIndex": "0x1", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4c0d45", + "gasUsed": "0x4b5604", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", + "transactionIndex": "0x2", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x566658", + "gasUsed": "0xa5913", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "transactionHash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x07c800d20517dcd65b854823f3c09d386751e7d79fd10fcb25a4710128fc02df", + "transactionIndex": "0x3", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b630e", + "gasUsed": "0x4fcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xfe303b729b1f0821ebd3987afd261d35441ba3f365643e3088d1f2f4be0c2095", + "transactionIndex": "0x4", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x6e5438", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xc847a38d16f4c0237e503ee7a89018a4f9bc32d346d8edc7a2d74cd9da430e35", + "transactionIndex": "0x5", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x8a887b", + "gasUsed": "0x1c3443", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x7baf672ff22632c02dbaf58c3aaf660c1f8a61a418e07af12ea59ed1189e11eb", + "transactionIndex": "0x6", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa7c4a5", + "gasUsed": "0x1d3c2a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xebe58b15e4224b2bb444744b8681836d827ad367a5888c3513d0d0e9bd603948", + "transactionIndex": "0x7", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa87a07", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x5c34019256d9017d06c72a98c95d3e0fedba86c500c9bc1e26c7179f8dfc9e21", + "transactionIndex": "0x8", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa92f69", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xfa38124dd04b111e1e181c702c8a4eb7baec7f2b500f8dd6b6605778c416378c", + "transactionIndex": "0x9", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa9e4cb", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x09a2dce0c95a4afbbe8f92e7224ca94addc65a4b3d437382a7f6f786c6fbad1a", + "transactionIndex": "0xa", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xaa9a2d", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1702563577, + "chain": 84532, + "multi": false, + "commit": "beee4e1" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/84532/run-latest.json b/broadcast/DeployDeterministic.s.sol/84532/run-latest.json new file mode 100644 index 00000000..9985c0b5 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/84532/run-latest.json @@ -0,0 +1,389 @@ +{ + "transactions": [ + { + "hash": "0xbd5adf2f4509fcf978b30e972686f40649e44f503fdcf5dcea26ba3f74175af8", + "transactionType": "CREATE", + "contractName": "Kernel_2_3_Deploy", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "gas": "0x61e8a1", + "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", + "nonce": "0x0", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0xf2137", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x07c800d20517dcd65b854823f3c09d386751e7d79fd10fcb25a4710128fc02df", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x6e303", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", + "nonce": "0x2", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfe303b729b1f0821ebd3987afd261d35441ba3f365643e3088d1f2f4be0c2095", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1a280a", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x3", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xc847a38d16f4c0237e503ee7a89018a4f9bc32d346d8edc7a2d74cd9da430e35", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x293c83", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x4", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7baf672ff22632c02dbaf58c3aaf660c1f8a61a418e07af12ea59ed1189e11eb", + "transactionType": "CREATE2", + "contractName": "DeterministicDeploy", + "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x285e72", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x5", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xebe58b15e4224b2bb444744b8681836d827ad367a5888c3513d0d0e9bd603948", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x6", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5c34019256d9017d06c72a98c95d3e0fedba86c500c9bc1e26c7179f8dfc9e21", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x7", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xfa38124dd04b111e1e181c702c8a4eb7baec7f2b500f8dd6b6605778c416378c", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x8", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x09a2dce0c95a4afbbe8f92e7224ca94addc65a4b3d437382a7f6f786c6fbad1a", + "transactionType": "CALL", + "contractName": "DeterministicDeploy", + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x9", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xbd5adf2f4509fcf978b30e972686f40649e44f503fdcf5dcea26ba3f74175af8", + "transactionIndex": "0x1", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": null, + "cumulativeGasUsed": "0x4c0d45", + "gasUsed": "0x4b5604", + "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", + "transactionIndex": "0x2", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x566658", + "gasUsed": "0xa5913", + "contractAddress": null, + "logs": [ + { + "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "topics": [ + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "0x0000000000000000000000000000000000000000000000000000000000000000", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" + ], + "data": "0x", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "transactionHash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", + "transactionIndex": "0x2", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x07c800d20517dcd65b854823f3c09d386751e7d79fd10fcb25a4710128fc02df", + "transactionIndex": "0x3", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x5b630e", + "gasUsed": "0x4fcb6", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xfe303b729b1f0821ebd3987afd261d35441ba3f365643e3088d1f2f4be0c2095", + "transactionIndex": "0x4", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x6e5438", + "gasUsed": "0x12f12a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xc847a38d16f4c0237e503ee7a89018a4f9bc32d346d8edc7a2d74cd9da430e35", + "transactionIndex": "0x5", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x8a887b", + "gasUsed": "0x1c3443", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x7baf672ff22632c02dbaf58c3aaf660c1f8a61a418e07af12ea59ed1189e11eb", + "transactionIndex": "0x6", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xa7c4a5", + "gasUsed": "0x1d3c2a", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xebe58b15e4224b2bb444744b8681836d827ad367a5888c3513d0d0e9bd603948", + "transactionIndex": "0x7", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa87a07", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x5c34019256d9017d06c72a98c95d3e0fedba86c500c9bc1e26c7179f8dfc9e21", + "transactionIndex": "0x8", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa92f69", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xfa38124dd04b111e1e181c702c8a4eb7baec7f2b500f8dd6b6605778c416378c", + "transactionIndex": "0x9", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xa9e4cb", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0x09a2dce0c95a4afbbe8f92e7224ca94addc65a4b3d437382a7f6f786c6fbad1a", + "transactionIndex": "0xa", + "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", + "blockNumber": "0x33d80a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0xaa9a2d", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [ + "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" + ], + "pending": [], + "returns": {}, + "timestamp": 1702563577, + "chain": 84532, + "multi": false, + "commit": "beee4e1" +} \ No newline at end of file diff --git a/scripts/DeployDeterministic.s.sol b/scripts/DeployDeterministic.s.sol index 6a141e47..7325a635 100644 --- a/scripts/DeployDeterministic.s.sol +++ b/scripts/DeployDeterministic.s.sol @@ -12,8 +12,7 @@ import "./deterministic/Kernel2_3.s.sol"; contract DeployDeterministic is Script { address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; function run() external { - uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); - vm.startBroadcast(key); + vm.startBroadcast(DEPLOYER); KernelFactory factory = KernelFactory(payable(FactoryDeploy.deploy())); ECDSAValidatorDeploy.deploy(); From 19254965c9923bbcf58b72ce375d32ff5d39e833 Mon Sep 17 00:00:00 2001 From: taek Date: Fri, 15 Dec 2023 17:16:25 +0900 Subject: [PATCH 18/51] Deploy/session key (#62) * optimism and arbitrum * optimism mainnet and polygon mainnet * deployed on avalanche * deployed on base * session key deploy completed --- .../1/run-1702626885.json | 32 +++++++++ .../1/run-1702627119.json | 34 ++++++++++ .../1/run-1702627132.json | 49 ++++++++++++++ .../DeploySessionKey.s.sol/1/run-latest.json | 28 ++++---- .../10/run-1702617672.json | 34 ++++++++++ .../10/run-1702617679.json | 49 ++++++++++++++ .../DeploySessionKey.s.sol/10/run-latest.json | 33 +++++----- .../11155111/run-1702626805.json | 34 ++++++++++ .../11155111/run-1702626818.json | 49 ++++++++++++++ .../11155111/run-latest.json | 28 ++++---- .../11155420/run-1702617568.json | 34 ++++++++++ .../11155420/run-1702617574.json | 49 ++++++++++++++ .../11155420/run-latest.json | 49 ++++++++++++++ .../1261120/run-1702628071.json | 32 +++++++++ .../1261120/run-1702628088.json | 33 ++++++++++ .../1261120/run-1702628094.json | 49 ++++++++++++++ .../1261120/run-latest.json | 49 ++++++++++++++ .../137/run-1702617865.json | 34 ++++++++++ .../137/run-1702617923.json | 66 +++++++++++++++++++ .../137/run-latest.json | 49 +++++++------- .../204/run-1702627985.json | 34 ++++++++++ .../204/run-1702627992.json | 49 ++++++++++++++ .../204/run-latest.json | 24 +++---- .../420/run-1702617431.json | 34 ++++++++++ .../420/run-1702617438.json | 49 ++++++++++++++ .../420/run-latest.json | 31 ++++----- .../42161/run-1702617363.json | 49 ++++++++++++++ .../42161/run-latest.json | 31 ++++----- .../421613/run-1702616790.json | 32 +++++++++ .../421613/run-1702616825.json | 49 ++++++++++++++ .../421613/run-latest.json | 31 ++++----- .../421614/run-1702616940.json | 32 +++++++++ .../421614/run-1702616979.json | 32 +++++++++ .../421614/run-1702617021.json | 32 +++++++++ .../421614/run-1702617117.json | 32 +++++++++ .../421614/run-1702617186.json | 49 ++++++++++++++ .../421614/run-latest.json | 49 ++++++++++++++ .../43113/run-1702618323.json | 34 ++++++++++ .../43113/run-1702618330.json | 49 ++++++++++++++ .../43113/run-latest.json | 24 +++---- .../43114/run-1702618603.json | 34 ++++++++++ .../43114/run-1702618610.json | 49 ++++++++++++++ .../43114/run-latest.json | 28 ++++---- .../5/run-1702626723.json | 34 ++++++++++ .../5/run-1702626736.json | 49 ++++++++++++++ .../DeploySessionKey.s.sol/5/run-latest.json | 28 ++++---- .../56/run-1702627746.json | 33 ++++++++++ .../56/run-1702627760.json | 48 ++++++++++++++ .../DeploySessionKey.s.sol/56/run-latest.json | 28 ++++---- .../59140/run-1702625191.json | 34 ++++++++++ .../59140/run-1702625198.json | 49 ++++++++++++++ .../59140/run-latest.json | 26 ++++---- .../59144/run-1702625245.json | 34 ++++++++++ .../59144/run-1702625616.json | 32 +++++++++ .../59144/run-1702626540.json | 32 +++++++++ .../59144/run-latest.json | 33 +++------- .../8453/run-1702624168.json | 32 +++++++++ .../8453/run-1702624194.json | 32 +++++++++ .../8453/run-1702625007.json | 34 ++++++++++ .../8453/run-1702625014.json | 49 ++++++++++++++ .../8453/run-latest.json | 26 ++++---- .../84531/run-1702623971.json | 34 ++++++++++ .../84531/run-1702623977.json | 49 ++++++++++++++ .../84531/run-latest.json | 26 ++++---- .../84532/run-1702624030.json | 34 ++++++++++ .../84532/run-1702624036.json | 49 ++++++++++++++ .../84532/run-latest.json | 49 ++++++++++++++ foundry.toml | 21 ++++++ scripts/DeploySessionKey.s.sol | 14 ++-- 69 files changed, 2329 insertions(+), 251 deletions(-) create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1702626885.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1702627119.json create mode 100644 broadcast/DeploySessionKey.s.sol/1/run-1702627132.json create mode 100644 broadcast/DeploySessionKey.s.sol/10/run-1702617672.json create mode 100644 broadcast/DeploySessionKey.s.sol/10/run-1702617679.json create mode 100644 broadcast/DeploySessionKey.s.sol/11155111/run-1702626805.json create mode 100644 broadcast/DeploySessionKey.s.sol/11155111/run-1702626818.json create mode 100644 broadcast/DeploySessionKey.s.sol/11155420/run-1702617568.json create mode 100644 broadcast/DeploySessionKey.s.sol/11155420/run-1702617574.json create mode 100644 broadcast/DeploySessionKey.s.sol/11155420/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/1261120/run-1702628071.json create mode 100644 broadcast/DeploySessionKey.s.sol/1261120/run-1702628088.json create mode 100644 broadcast/DeploySessionKey.s.sol/1261120/run-1702628094.json create mode 100644 broadcast/DeploySessionKey.s.sol/1261120/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/137/run-1702617865.json create mode 100644 broadcast/DeploySessionKey.s.sol/137/run-1702617923.json create mode 100644 broadcast/DeploySessionKey.s.sol/204/run-1702627985.json create mode 100644 broadcast/DeploySessionKey.s.sol/204/run-1702627992.json create mode 100644 broadcast/DeploySessionKey.s.sol/420/run-1702617431.json create mode 100644 broadcast/DeploySessionKey.s.sol/420/run-1702617438.json create mode 100644 broadcast/DeploySessionKey.s.sol/42161/run-1702617363.json create mode 100644 broadcast/DeploySessionKey.s.sol/421613/run-1702616790.json create mode 100644 broadcast/DeploySessionKey.s.sol/421613/run-1702616825.json create mode 100644 broadcast/DeploySessionKey.s.sol/421614/run-1702616940.json create mode 100644 broadcast/DeploySessionKey.s.sol/421614/run-1702616979.json create mode 100644 broadcast/DeploySessionKey.s.sol/421614/run-1702617021.json create mode 100644 broadcast/DeploySessionKey.s.sol/421614/run-1702617117.json create mode 100644 broadcast/DeploySessionKey.s.sol/421614/run-1702617186.json create mode 100644 broadcast/DeploySessionKey.s.sol/421614/run-latest.json create mode 100644 broadcast/DeploySessionKey.s.sol/43113/run-1702618323.json create mode 100644 broadcast/DeploySessionKey.s.sol/43113/run-1702618330.json create mode 100644 broadcast/DeploySessionKey.s.sol/43114/run-1702618603.json create mode 100644 broadcast/DeploySessionKey.s.sol/43114/run-1702618610.json create mode 100644 broadcast/DeploySessionKey.s.sol/5/run-1702626723.json create mode 100644 broadcast/DeploySessionKey.s.sol/5/run-1702626736.json create mode 100644 broadcast/DeploySessionKey.s.sol/56/run-1702627746.json create mode 100644 broadcast/DeploySessionKey.s.sol/56/run-1702627760.json create mode 100644 broadcast/DeploySessionKey.s.sol/59140/run-1702625191.json create mode 100644 broadcast/DeploySessionKey.s.sol/59140/run-1702625198.json create mode 100644 broadcast/DeploySessionKey.s.sol/59144/run-1702625245.json create mode 100644 broadcast/DeploySessionKey.s.sol/59144/run-1702625616.json create mode 100644 broadcast/DeploySessionKey.s.sol/59144/run-1702626540.json create mode 100644 broadcast/DeploySessionKey.s.sol/8453/run-1702624168.json create mode 100644 broadcast/DeploySessionKey.s.sol/8453/run-1702624194.json create mode 100644 broadcast/DeploySessionKey.s.sol/8453/run-1702625007.json create mode 100644 broadcast/DeploySessionKey.s.sol/8453/run-1702625014.json create mode 100644 broadcast/DeploySessionKey.s.sol/84531/run-1702623971.json create mode 100644 broadcast/DeploySessionKey.s.sol/84531/run-1702623977.json create mode 100644 broadcast/DeploySessionKey.s.sol/84532/run-1702624030.json create mode 100644 broadcast/DeploySessionKey.s.sol/84532/run-1702624036.json create mode 100644 broadcast/DeploySessionKey.s.sol/84532/run-latest.json diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1702626885.json b/broadcast/DeploySessionKey.s.sol/1/run-1702626885.json new file mode 100644 index 00000000..5a8a6fd5 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1702626885.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x26", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702626885, + "chain": 1, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1702627119.json b/broadcast/DeploySessionKey.s.sol/1/run-1702627119.json new file mode 100644 index 00000000..7f53f699 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1702627119.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x3ddd13f10dee7e7d7332a6fddcca53820174788db054aaaa0734ff1f3531691f", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x26", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x3ddd13f10dee7e7d7332a6fddcca53820174788db054aaaa0734ff1f3531691f" + ], + "returns": {}, + "timestamp": 1702627119, + "chain": 1, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-1702627132.json b/broadcast/DeploySessionKey.s.sol/1/run-1702627132.json new file mode 100644 index 00000000..d5c427b3 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1/run-1702627132.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x3ddd13f10dee7e7d7332a6fddcca53820174788db054aaaa0734ff1f3531691f", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x26", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3ddd13f10dee7e7d7332a6fddcca53820174788db054aaaa0734ff1f3531691f", + "transactionIndex": "0x34", + "blockHash": "0xda1c02359bcb24b5be31c67cf95cf478ac536543e8c22ce8374721412160dd7a", + "blockNumber": "0x11eb724", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x601899", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xc33c11ec0" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702627132, + "chain": 1, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1/run-latest.json b/broadcast/DeploySessionKey.s.sol/1/run-latest.json index d3e92c91..d5c427b3 100644 --- a/broadcast/DeploySessionKey.s.sol/1/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/1/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x01ce06fce3fd7fe29ae1b76293ba14cb974e1b6a8d889f972dfa0e1ab027c930", + "hash": "0x3ddd13f10dee7e7d7332a6fddcca53820174788db054aaaa0734ff1f3531691f", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x24", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x26", "accessList": [] }, "additionalContracts": [], @@ -23,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x01ce06fce3fd7fe29ae1b76293ba14cb974e1b6a8d889f972dfa0e1ab027c930", - "transactionIndex": "0x27", - "blockHash": "0xdcb4acc31baf312e77795bd3dbddd188e39331295330fbf4f983d05845e95193", - "blockNumber": "0x11b7d5b", + "transactionHash": "0x3ddd13f10dee7e7d7332a6fddcca53820174788db054aaaa0734ff1f3531691f", + "transactionIndex": "0x34", + "blockHash": "0xda1c02359bcb24b5be31c67cf95cf478ac536543e8c22ce8374721412160dd7a", + "blockNumber": "0x11eb724", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x5b2efa", - "gasUsed": "0x12f12a", + "cumulativeGasUsed": "0x601899", + "gasUsed": "0x14410b", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xba43b7400" + "effectiveGasPrice": "0xc33c11ec0" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700069358, + "timestamp": 1702627132, "chain": 1, "multi": false, - "commit": "fe8b969" + "commit": "40e7b9d" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10/run-1702617672.json b/broadcast/DeploySessionKey.s.sol/10/run-1702617672.json new file mode 100644 index 00000000..a3c7247b --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10/run-1702617672.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x011b4def2a8f8ab35693da4d847aa6ed52d8e4cba6d115fe692ebb024658047a", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x011b4def2a8f8ab35693da4d847aa6ed52d8e4cba6d115fe692ebb024658047a" + ], + "returns": {}, + "timestamp": 1702617672, + "chain": 10, + "multi": false, + "commit": "1ad6bec" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10/run-1702617679.json b/broadcast/DeploySessionKey.s.sol/10/run-1702617679.json new file mode 100644 index 00000000..080ba642 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10/run-1702617679.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x011b4def2a8f8ab35693da4d847aa6ed52d8e4cba6d115fe692ebb024658047a", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x011b4def2a8f8ab35693da4d847aa6ed52d8e4cba6d115fe692ebb024658047a", + "transactionIndex": "0x1", + "blockHash": "0x3e4ce53cd82cfd3d2db47b9a6aeb7ebad370421afc940932852cdd266a122cdb", + "blockNumber": "0x6c40448", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f6da", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb33136f8" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617679, + "chain": 10, + "multi": false, + "commit": "1ad6bec" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10/run-latest.json b/broadcast/DeploySessionKey.s.sol/10/run-latest.json index e0d0bf5c..080ba642 100644 --- a/broadcast/DeploySessionKey.s.sol/10/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/10/run-latest.json @@ -1,20 +1,21 @@ { "transactions": [ { - "hash": "0xdd5b2eff1815b82d2e39380a7b0ef3db15664acafe0fdc6634c8cb2de6977993", + "hash": "0x011b4def2a8f8ab35693da4d847aa6ed52d8e4cba6d115fe692ebb024658047a", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { - "type": "0x00", + "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x12" + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", + "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0xdd5b2eff1815b82d2e39380a7b0ef3db15664acafe0fdc6634c8cb2de6977993", - "transactionIndex": "0x6", - "blockHash": "0x6bbc410ca090e8a06cd39744e9a9f4c884eb691f9713c195c49935810036ee72", - "blockNumber": "0x6b09094", + "transactionHash": "0x011b4def2a8f8ab35693da4d847aa6ed52d8e4cba6d115fe692ebb024658047a", + "transactionIndex": "0x1", + "blockHash": "0x3e4ce53cd82cfd3d2db47b9a6aeb7ebad370421afc940932852cdd266a122cdb", + "blockNumber": "0x6c40448", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x43b072", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0x14f6da", + "gasUsed": "0x143f99", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0", - "effectiveGasPrice": "0x915819" + "type": "0x2", + "effectiveGasPrice": "0xb33136f8" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068070, + "timestamp": 1702617679, "chain": 10, "multi": false, - "commit": "fe8b969" + "commit": "1ad6bec" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155111/run-1702626805.json b/broadcast/DeploySessionKey.s.sol/11155111/run-1702626805.json new file mode 100644 index 00000000..02ef589d --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/11155111/run-1702626805.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x46059430a5828cfe14da6f2888edbe31fd981f7dab1e8b96e10e9c22cf185175", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x46059430a5828cfe14da6f2888edbe31fd981f7dab1e8b96e10e9c22cf185175" + ], + "returns": {}, + "timestamp": 1702626805, + "chain": 11155111, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155111/run-1702626818.json b/broadcast/DeploySessionKey.s.sol/11155111/run-1702626818.json new file mode 100644 index 00000000..a1a868bf --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/11155111/run-1702626818.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x46059430a5828cfe14da6f2888edbe31fd981f7dab1e8b96e10e9c22cf185175", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x46059430a5828cfe14da6f2888edbe31fd981f7dab1e8b96e10e9c22cf185175", + "transactionIndex": "0x22", + "blockHash": "0x21b321e4d37c4501e2c7f8dfe9e688b057f94977ae15e1947b31c60dbf824d4b", + "blockNumber": "0x4a9d4f", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x53beca", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x19f11efecb" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702626818, + "chain": 11155111, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155111/run-latest.json b/broadcast/DeploySessionKey.s.sol/11155111/run-latest.json index 6fe47196..a1a868bf 100644 --- a/broadcast/DeploySessionKey.s.sol/11155111/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/11155111/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x7d2d9ca4e0894e8cc8540d37d16ffedd7fe5eb40964733847f7a4969fcdfaba5", + "hash": "0x46059430a5828cfe14da6f2888edbe31fd981f7dab1e8b96e10e9c22cf185175", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x12", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x15", "accessList": [] }, "additionalContracts": [], @@ -23,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x7d2d9ca4e0894e8cc8540d37d16ffedd7fe5eb40964733847f7a4969fcdfaba5", - "transactionIndex": "0x5", - "blockHash": "0x7bd66a69c09ee4c4eb7145d06305a782708a7518f424a05818ad87af5cb62c51", - "blockNumber": "0x47b823", + "transactionHash": "0x46059430a5828cfe14da6f2888edbe31fd981f7dab1e8b96e10e9c22cf185175", + "transactionIndex": "0x22", + "blockHash": "0x21b321e4d37c4501e2c7f8dfe9e688b057f94977ae15e1947b31c60dbf824d4b", + "blockNumber": "0x4a9d4f", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x268a40", - "gasUsed": "0x12f12a", + "cumulativeGasUsed": "0x53beca", + "gasUsed": "0x14410b", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb2d132f7" + "effectiveGasPrice": "0x19f11efecb" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700069570, + "timestamp": 1702626818, "chain": 11155111, "multi": false, - "commit": "fe8b969" + "commit": "40e7b9d" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155420/run-1702617568.json b/broadcast/DeploySessionKey.s.sol/11155420/run-1702617568.json new file mode 100644 index 00000000..e6d8b489 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/11155420/run-1702617568.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x8dc76f14cad94448f431aae880d5b2f3571ddf1a0ce54d6fba1581971f366ce0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x8dc76f14cad94448f431aae880d5b2f3571ddf1a0ce54d6fba1581971f366ce0" + ], + "returns": {}, + "timestamp": 1702617568, + "chain": 11155420, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155420/run-1702617574.json b/broadcast/DeploySessionKey.s.sol/11155420/run-1702617574.json new file mode 100644 index 00000000..bffebf70 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/11155420/run-1702617574.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x8dc76f14cad94448f431aae880d5b2f3571ddf1a0ce54d6fba1581971f366ce0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8dc76f14cad94448f431aae880d5b2f3571ddf1a0ce54d6fba1581971f366ce0", + "transactionIndex": "0x1", + "blockHash": "0x18180f475f453c99c0b056e34391c9bf9953fd108548fb4b6a9534fd98a0244c", + "blockNumber": "0x52831b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f840", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617574, + "chain": 11155420, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/11155420/run-latest.json b/broadcast/DeploySessionKey.s.sol/11155420/run-latest.json new file mode 100644 index 00000000..bffebf70 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/11155420/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x8dc76f14cad94448f431aae880d5b2f3571ddf1a0ce54d6fba1581971f366ce0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8dc76f14cad94448f431aae880d5b2f3571ddf1a0ce54d6fba1581971f366ce0", + "transactionIndex": "0x1", + "blockHash": "0x18180f475f453c99c0b056e34391c9bf9953fd108548fb4b6a9534fd98a0244c", + "blockNumber": "0x52831b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f840", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617574, + "chain": 11155420, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1261120/run-1702628071.json b/broadcast/DeploySessionKey.s.sol/1261120/run-1702628071.json new file mode 100644 index 00000000..e5d378be --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1261120/run-1702628071.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702628071, + "chain": 1261120, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1261120/run-1702628088.json b/broadcast/DeploySessionKey.s.sol/1261120/run-1702628088.json new file mode 100644 index 00000000..6ae63a62 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1261120/run-1702628088.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x62ccc6c21d645f57f2a9331e3f405be9712d934f088c26bb45c418d993fcdcbb", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x62ccc6c21d645f57f2a9331e3f405be9712d934f088c26bb45c418d993fcdcbb" + ], + "returns": {}, + "timestamp": 1702628088, + "chain": 1261120, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1261120/run-1702628094.json b/broadcast/DeploySessionKey.s.sol/1261120/run-1702628094.json new file mode 100644 index 00000000..d1110665 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1261120/run-1702628094.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x62ccc6c21d645f57f2a9331e3f405be9712d934f088c26bb45c418d993fcdcbb", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x62ccc6c21d645f57f2a9331e3f405be9712d934f088c26bb45c418d993fcdcbb", + "transactionIndex": "0x0", + "blockHash": "0x96fc6566e4c7f2cfb63df461b23fe3b60fbacb809abff1e07e4ca67492179a53", + "blockNumber": "0x42fdd", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x143f99", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x647f096e07e093096380eb31974c12440d70d3a8b4f6f924fb8945d20d26e57b", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x1d1832480" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702628094, + "chain": 1261120, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/1261120/run-latest.json b/broadcast/DeploySessionKey.s.sol/1261120/run-latest.json new file mode 100644 index 00000000..d1110665 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/1261120/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x62ccc6c21d645f57f2a9331e3f405be9712d934f088c26bb45c418d993fcdcbb", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x62ccc6c21d645f57f2a9331e3f405be9712d934f088c26bb45c418d993fcdcbb", + "transactionIndex": "0x0", + "blockHash": "0x96fc6566e4c7f2cfb63df461b23fe3b60fbacb809abff1e07e4ca67492179a53", + "blockNumber": "0x42fdd", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x143f99", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "root": "0x647f096e07e093096380eb31974c12440d70d3a8b4f6f924fb8945d20d26e57b", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0x1d1832480" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702628094, + "chain": 1261120, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/137/run-1702617865.json b/broadcast/DeploySessionKey.s.sol/137/run-1702617865.json new file mode 100644 index 00000000..8e57c5d0 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/137/run-1702617865.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xaefc70654c8a9fe1b604188e84d5bc9d0639ef52b709a70e6e7fba2a675b43c2", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xaefc70654c8a9fe1b604188e84d5bc9d0639ef52b709a70e6e7fba2a675b43c2" + ], + "returns": {}, + "timestamp": 1702617865, + "chain": 137, + "multi": false, + "commit": "1ad6bec" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/137/run-1702617923.json b/broadcast/DeploySessionKey.s.sol/137/run-1702617923.json new file mode 100644 index 00000000..36d2d4b9 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/137/run-1702617923.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0xaefc70654c8a9fe1b604188e84d5bc9d0639ef52b709a70e6e7fba2a675b43c2", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2b", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xaefc70654c8a9fe1b604188e84d5bc9d0639ef52b709a70e6e7fba2a675b43c2", + "transactionIndex": "0x7c", + "blockHash": "0xd68a35ff4df37c6c7b266d7cb11a9436605c737c40714f6a7ff2a46fb3b495f8", + "blockNumber": "0x30c736e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x86191e", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x000000000000000000000000127685d6dd6683085da4b6a041efcef1681e5c9c" + ], + "data": "0x000000000000000000000000000000000000000000000000008c41b621750b7f00000000000000000000000000000000000000000000001745edb79fb8fc19740000000000000000000000000000000000000000000005405e6c2206b736cec5000000000000000000000000000000000000000000000017456175e997870df50000000000000000000000000000000000000000000005405ef863bcd8abda44", + "blockHash": "0xd68a35ff4df37c6c7b266d7cb11a9436605c737c40714f6a7ff2a46fb3b495f8", + "blockNumber": "0x30c736e", + "transactionHash": "0xaefc70654c8a9fe1b604188e84d5bc9d0639ef52b709a70e6e7fba2a675b43c2", + "transactionIndex": "0x7c", + "logIndex": "0x110", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000080000000000000000100000000000000000000000000000000000000000000000000000000004000000000000100020", + "type": "0x2", + "effectiveGasPrice": "0x147dbcd0a9" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617923, + "chain": 137, + "multi": false, + "commit": "1ad6bec" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/137/run-latest.json b/broadcast/DeploySessionKey.s.sol/137/run-latest.json index be1f016f..36d2d4b9 100644 --- a/broadcast/DeploySessionKey.s.sol/137/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/137/run-latest.json @@ -1,20 +1,21 @@ { "transactions": [ { - "hash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", + "hash": "0xaefc70654c8a9fe1b604188e84d5bc9d0639ef52b709a70e6e7fba2a675b43c2", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { - "type": "0x00", + "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x2a" + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x2b", + "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,14 +23,14 @@ ], "receipts": [ { - "transactionHash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", - "transactionIndex": "0xcd", - "blockHash": "0xa655cec252f25505029f0949ab3a00cb133802830f1fde9f5ea563b8ae4096bd", - "blockNumber": "0x2faa462", + "transactionHash": "0xaefc70654c8a9fe1b604188e84d5bc9d0639ef52b709a70e6e7fba2a675b43c2", + "transactionIndex": "0x7c", + "blockHash": "0xd68a35ff4df37c6c7b266d7cb11a9436605c737c40714f6a7ff2a46fb3b495f8", + "blockNumber": "0x30c736e", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x13243e6", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0x86191e", + "gasUsed": "0x14410b", "contractAddress": null, "logs": [ { @@ -38,28 +39,28 @@ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", - "0x000000000000000000000000f0245f6251bef9447a08766b9da2b07b28ad80b0" + "0x000000000000000000000000127685d6dd6683085da4b6a041efcef1681e5c9c" ], - "data": "0x00000000000000000000000000000000000000000000000000757c63251c8e8000000000000000000000000000000000000000000000001749c57f8742d9baa40000000000000000000000000000000000000000000002a63983cbb4278ceda4000000000000000000000000000000000000000000000017495003241dbd2c240000000000000000000000000000000000000000000002a639f948174ca97c24", - "blockHash": "0xa655cec252f25505029f0949ab3a00cb133802830f1fde9f5ea563b8ae4096bd", - "blockNumber": "0x2faa462", - "transactionHash": "0x3b8e2053eb1ac6c83ee732a8a48e9ac7b58c00687950ff98a24190f985068d67", - "transactionIndex": "0xcd", - "logIndex": "0x250", + "data": "0x000000000000000000000000000000000000000000000000008c41b621750b7f00000000000000000000000000000000000000000000001745edb79fb8fc19740000000000000000000000000000000000000000000005405e6c2206b736cec5000000000000000000000000000000000000000000000017456175e997870df50000000000000000000000000000000000000000000005405ef863bcd8abda44", + "blockHash": "0xd68a35ff4df37c6c7b266d7cb11a9436605c737c40714f6a7ff2a46fb3b495f8", + "blockNumber": "0x30c736e", + "transactionHash": "0xaefc70654c8a9fe1b604188e84d5bc9d0639ef52b709a70e6e7fba2a675b43c2", + "transactionIndex": "0x7c", + "logIndex": "0x110", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000008000000000000000000000000000000080000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000080000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x33f369e24f" + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000080000000000000000100000000000000000000000000000000000000000000000000000000004000000000000100020", + "type": "0x2", + "effectiveGasPrice": "0x147dbcd0a9" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700067082, + "timestamp": 1702617923, "chain": 137, "multi": false, - "commit": "fe8b969" + "commit": "1ad6bec" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/204/run-1702627985.json b/broadcast/DeploySessionKey.s.sol/204/run-1702627985.json new file mode 100644 index 00000000..43bf353b --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/204/run-1702627985.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xa385e7e938aa6f7160c674e603fe1130f72e328fc0bae5fb845106f91b8ec159", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xa385e7e938aa6f7160c674e603fe1130f72e328fc0bae5fb845106f91b8ec159" + ], + "returns": {}, + "timestamp": 1702627985, + "chain": 204, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/204/run-1702627992.json b/broadcast/DeploySessionKey.s.sol/204/run-1702627992.json new file mode 100644 index 00000000..f04840ec --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/204/run-1702627992.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xa385e7e938aa6f7160c674e603fe1130f72e328fc0bae5fb845106f91b8ec159", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xa385e7e938aa6f7160c674e603fe1130f72e328fc0bae5fb845106f91b8ec159", + "transactionIndex": "0x1", + "blockHash": "0x486b0e52d688dc13014b046e6b6d114065e98c3f9cc99f1e34f1eb232d6de3e8", + "blockNumber": "0xa5ed98", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f9d6", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702627992, + "chain": 204, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/204/run-latest.json b/broadcast/DeploySessionKey.s.sol/204/run-latest.json index 35744760..f04840ec 100644 --- a/broadcast/DeploySessionKey.s.sol/204/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/204/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x5e406fc624a1a239b1152bfc0df2b74ec3151806dfda51d4316f82463899879b", + "hash": "0xa385e7e938aa6f7160c674e603fe1130f72e328fc0bae5fb845106f91b8ec159", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0xa", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xb", "accessList": [] }, "additionalContracts": [], @@ -23,14 +23,14 @@ ], "receipts": [ { - "transactionHash": "0x5e406fc624a1a239b1152bfc0df2b74ec3151806dfda51d4316f82463899879b", + "transactionHash": "0xa385e7e938aa6f7160c674e603fe1130f72e328fc0bae5fb845106f91b8ec159", "transactionIndex": "0x1", - "blockHash": "0x48fd41f3c4a4dec6c211f5f633c2c899c3c91f0202dff02f3d06736fb621428c", - "blockNumber": "0x7edec7", + "blockHash": "0x486b0e52d688dc13014b046e6b6d114065e98c3f9cc99f1e34f1eb232d6de3e8", + "blockNumber": "0xa5ed98", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x13a711", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0x14f9d6", + "gasUsed": "0x143f99", "contractAddress": null, "logs": [], "status": "0x1", @@ -42,8 +42,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068295, + "timestamp": 1702627992, "chain": 204, "multi": false, - "commit": "fe8b969" + "commit": "40e7b9d" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/420/run-1702617431.json b/broadcast/DeploySessionKey.s.sol/420/run-1702617431.json new file mode 100644 index 00000000..ae1525c4 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/420/run-1702617431.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x7ca98f3cfe881ba407c4e4a72a414437bcfa7f2dc389a014870704e7f54e7103", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x7ca98f3cfe881ba407c4e4a72a414437bcfa7f2dc389a014870704e7f54e7103" + ], + "returns": {}, + "timestamp": 1702617431, + "chain": 420, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/420/run-1702617438.json b/broadcast/DeploySessionKey.s.sol/420/run-1702617438.json new file mode 100644 index 00000000..e9c2147e --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/420/run-1702617438.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x7ca98f3cfe881ba407c4e4a72a414437bcfa7f2dc389a014870704e7f54e7103", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1d", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7ca98f3cfe881ba407c4e4a72a414437bcfa7f2dc389a014870704e7f54e7103", + "transactionIndex": "0x1", + "blockHash": "0xd90e89944d3eabd8c5f6ef84fba1d8421eefd49188de266e02dc5fded62efeaf", + "blockNumber": "0x11bbb7b", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x153adc", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617438, + "chain": 420, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/420/run-latest.json b/broadcast/DeploySessionKey.s.sol/420/run-latest.json index 0bf02de9..e9c2147e 100644 --- a/broadcast/DeploySessionKey.s.sol/420/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/420/run-latest.json @@ -1,20 +1,21 @@ { "transactions": [ { - "hash": "0x19789dbd276297c92cf68c9c7eb79566468759aefba1021406656949da196135", + "hash": "0x7ca98f3cfe881ba407c4e4a72a414437bcfa7f2dc389a014870704e7f54e7103", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { - "type": "0x00", + "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x1c" + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1d", + "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x19789dbd276297c92cf68c9c7eb79566468759aefba1021406656949da196135", + "transactionHash": "0x7ca98f3cfe881ba407c4e4a72a414437bcfa7f2dc389a014870704e7f54e7103", "transactionIndex": "0x1", - "blockHash": "0xadb68f3c3733ed923b8b5c572df246c6bdf57db9a6a792b512673a3dcfe24155", - "blockNumber": "0x1084830", + "blockHash": "0xd90e89944d3eabd8c5f6ef84fba1d8421eefd49188de266e02dc5fded62efeaf", + "blockNumber": "0x11bbb7b", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x13a83b", - "gasUsed": "0x12f12a", + "cumulativeGasUsed": "0x153adc", + "gasUsed": "0x14410b", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0", - "effectiveGasPrice": "0xf433c" + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068040, + "timestamp": 1702617438, "chain": 420, "multi": false, - "commit": "fe8b969" + "commit": "a7309c6" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/42161/run-1702617363.json b/broadcast/DeploySessionKey.s.sol/42161/run-1702617363.json new file mode 100644 index 00000000..19a300fb --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/42161/run-1702617363.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x78aa578d17de8722f6eb4176ea0669b9d4bf801601ce55d66bfb5e068ed8a047", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1566113", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x78aa578d17de8722f6eb4176ea0669b9d4bf801601ce55d66bfb5e068ed8a047", + "transactionIndex": "0x2", + "blockHash": "0x9bbf6203166ad64de13de4136c82005a2865a23d9e6ec5e799974007a494d627", + "blockNumber": "0x98d1597", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xf83743", + "gasUsed": "0xed72d3", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617363, + "chain": 42161, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/42161/run-latest.json b/broadcast/DeploySessionKey.s.sol/42161/run-latest.json index 810de76f..19a300fb 100644 --- a/broadcast/DeploySessionKey.s.sol/42161/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/42161/run-latest.json @@ -1,20 +1,21 @@ { "transactions": [ { - "hash": "0x2a19bba631e6a261cbeeaef1f9b9d3b17c48175f8dbe14da5750102acab46625", + "hash": "0x78aa578d17de8722f6eb4176ea0669b9d4bf801601ce55d66bfb5e068ed8a047", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { - "type": "0x00", + "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a3ddbd", + "gas": "0x1566113", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x18" + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1a", + "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x2a19bba631e6a261cbeeaef1f9b9d3b17c48175f8dbe14da5750102acab46625", - "transactionIndex": "0x1", - "blockHash": "0x6ceb31216701851ec406773d708820bf7b1cb7e0c8f6aefae67e20f4475be888", - "blockNumber": "0x8fbca9a", + "transactionHash": "0x78aa578d17de8722f6eb4176ea0669b9d4bf801601ce55d66bfb5e068ed8a047", + "transactionIndex": "0x2", + "blockHash": "0x9bbf6203166ad64de13de4136c82005a2865a23d9e6ec5e799974007a494d627", + "blockNumber": "0x98d1597", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x121d95d", - "gasUsed": "0x121d95d", + "cumulativeGasUsed": "0xf83743", + "gasUsed": "0xed72d3", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0", + "type": "0x2", "effectiveGasPrice": "0x5f5e100" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068004, + "timestamp": 1702617363, "chain": 42161, "multi": false, - "commit": "fe8b969" + "commit": "a7309c6" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421613/run-1702616790.json b/broadcast/DeploySessionKey.s.sol/421613/run-1702616790.json new file mode 100644 index 00000000..287a3ec8 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421613/run-1702616790.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1ab163", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702616790, + "chain": 421613, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421613/run-1702616825.json b/broadcast/DeploySessionKey.s.sol/421613/run-1702616825.json new file mode 100644 index 00000000..efd69982 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421613/run-1702616825.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xcbd1b710266f4def075e99540cd4f57f937a51c1b3ef1fa76e4ee33dfdf20a4b", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1ab163", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1c", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xcbd1b710266f4def075e99540cd4f57f937a51c1b3ef1fa76e4ee33dfdf20a4b", + "transactionIndex": "0x1", + "blockHash": "0x26e7a35c8035db8e2801385778af9c0a84e6639d33eeba21d134c244e085e2d6", + "blockNumber": "0x3868b99", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x143f99", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702616825, + "chain": 421613, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421613/run-latest.json b/broadcast/DeploySessionKey.s.sol/421613/run-latest.json index f9f58a7f..efd69982 100644 --- a/broadcast/DeploySessionKey.s.sol/421613/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/421613/run-latest.json @@ -1,20 +1,21 @@ { "transactions": [ { - "hash": "0x7bfc62b0ec2ed695ea0de91f5e847e28c5edb9e34c3d50006dfffcab79c7e059", + "hash": "0xcbd1b710266f4def075e99540cd4f57f937a51c1b3ef1fa76e4ee33dfdf20a4b", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { - "type": "0x00", + "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x18f677", + "gas": "0x1ab163", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x1a" + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x1c", + "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x7bfc62b0ec2ed695ea0de91f5e847e28c5edb9e34c3d50006dfffcab79c7e059", - "transactionIndex": "0x2", - "blockHash": "0x4d960ffb2c354fd3dfdf23be96e955b5623c1c365bb74879137b8218cd98feee", - "blockNumber": "0x34a176e", + "transactionHash": "0xcbd1b710266f4def075e99540cd4f57f937a51c1b3ef1fa76e4ee33dfdf20a4b", + "transactionIndex": "0x1", + "blockHash": "0x26e7a35c8035db8e2801385778af9c0a84e6639d33eeba21d134c244e085e2d6", + "blockNumber": "0x3868b99", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x17f58b", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0x143f99", + "gasUsed": "0x143f99", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x0", + "type": "0x2", "effectiveGasPrice": "0x5f5e100" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700067964, + "timestamp": 1702616825, "chain": 421613, "multi": false, - "commit": "fe8b969" + "commit": "a7309c6" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421614/run-1702616940.json b/broadcast/DeploySessionKey.s.sol/421614/run-1702616940.json new file mode 100644 index 00000000..fdca8d13 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421614/run-1702616940.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3050fc6", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702616940, + "chain": 421614, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421614/run-1702616979.json b/broadcast/DeploySessionKey.s.sol/421614/run-1702616979.json new file mode 100644 index 00000000..8b4700df --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421614/run-1702616979.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3050fc6", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702616979, + "chain": 421614, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421614/run-1702617021.json b/broadcast/DeploySessionKey.s.sol/421614/run-1702617021.json new file mode 100644 index 00000000..0f84e6ab --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421614/run-1702617021.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3050fc6", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617021, + "chain": 421614, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421614/run-1702617117.json b/broadcast/DeploySessionKey.s.sol/421614/run-1702617117.json new file mode 100644 index 00000000..1bfa44f2 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421614/run-1702617117.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3050fc6", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617117, + "chain": 421614, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421614/run-1702617186.json b/broadcast/DeploySessionKey.s.sol/421614/run-1702617186.json new file mode 100644 index 00000000..e395dbf6 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421614/run-1702617186.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xc9b97be24441409a2cd7a25854e6961b05d776bc9e7d7e3e57c5169bb2ff504f", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3050fc6", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc9b97be24441409a2cd7a25854e6961b05d776bc9e7d7e3e57c5169bb2ff504f", + "transactionIndex": "0x1", + "blockHash": "0xc35460b48667233c373c1f6d59ff40a85a1ed6fbe5ebfc9a33dce292b1e94f0c", + "blockNumber": "0x2b900e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x215a38f", + "gasUsed": "0x215a38f", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617186, + "chain": 421614, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/421614/run-latest.json b/broadcast/DeploySessionKey.s.sol/421614/run-latest.json new file mode 100644 index 00000000..e395dbf6 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/421614/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xc9b97be24441409a2cd7a25854e6961b05d776bc9e7d7e3e57c5169bb2ff504f", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3050fc6", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc9b97be24441409a2cd7a25854e6961b05d776bc9e7d7e3e57c5169bb2ff504f", + "transactionIndex": "0x1", + "blockHash": "0xc35460b48667233c373c1f6d59ff40a85a1ed6fbe5ebfc9a33dce292b1e94f0c", + "blockNumber": "0x2b900e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x215a38f", + "gasUsed": "0x215a38f", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702617186, + "chain": 421614, + "multi": false, + "commit": "a7309c6" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43113/run-1702618323.json b/broadcast/DeploySessionKey.s.sol/43113/run-1702618323.json new file mode 100644 index 00000000..0f5f0bca --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43113/run-1702618323.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xbd3c54fe25be371efbfb9210644815db66ea82f9a61cef13442925a1b9c50486", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xbd3c54fe25be371efbfb9210644815db66ea82f9a61cef13442925a1b9c50486" + ], + "returns": {}, + "timestamp": 1702618323, + "chain": 43113, + "multi": false, + "commit": "d1b7f62" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43113/run-1702618330.json b/broadcast/DeploySessionKey.s.sol/43113/run-1702618330.json new file mode 100644 index 00000000..989b461a --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43113/run-1702618330.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xbd3c54fe25be371efbfb9210644815db66ea82f9a61cef13442925a1b9c50486", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x19", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xbd3c54fe25be371efbfb9210644815db66ea82f9a61cef13442925a1b9c50486", + "transactionIndex": "0x0", + "blockHash": "0x2c5e08584248133e64e4fef4acc008b547e8c4647199a10167b5a4c5fbf9150c", + "blockNumber": "0x1b3ed8c", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x143f99", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x684ee1800" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702618330, + "chain": 43113, + "multi": false, + "commit": "d1b7f62" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43113/run-latest.json b/broadcast/DeploySessionKey.s.sol/43113/run-latest.json index 7fd08e7a..989b461a 100644 --- a/broadcast/DeploySessionKey.s.sol/43113/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/43113/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x820a9a8723687e9314695a8e8cd9367b9c0ea90ca117a5c3808b78c255385a66", + "hash": "0xbd3c54fe25be371efbfb9210644815db66ea82f9a61cef13442925a1b9c50486", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x18", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x19", "accessList": [] }, "additionalContracts": [], @@ -23,14 +23,14 @@ ], "receipts": [ { - "transactionHash": "0x820a9a8723687e9314695a8e8cd9367b9c0ea90ca117a5c3808b78c255385a66", + "transactionHash": "0xbd3c54fe25be371efbfb9210644815db66ea82f9a61cef13442925a1b9c50486", "transactionIndex": "0x0", - "blockHash": "0xdeda85e4c9580462bf2b50877f59e295e944a57bde51e85549d9d36eaa82e145", - "blockNumber": "0x1a7a33e", + "blockHash": "0x2c5e08584248133e64e4fef4acc008b547e8c4647199a10167b5a4c5fbf9150c", + "blockNumber": "0x1b3ed8c", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x12efd0", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0x143f99", + "gasUsed": "0x143f99", "contractAddress": null, "logs": [], "status": "0x1", @@ -42,8 +42,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068152, + "timestamp": 1702618330, "chain": 43113, "multi": false, - "commit": "fe8b969" + "commit": "d1b7f62" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43114/run-1702618603.json b/broadcast/DeploySessionKey.s.sol/43114/run-1702618603.json new file mode 100644 index 00000000..2305b1f4 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43114/run-1702618603.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xd6b638fd5050dcf5ec7c556ac5b22bc9287613d11eb2adf07f4c76306f45f632", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd6b638fd5050dcf5ec7c556ac5b22bc9287613d11eb2adf07f4c76306f45f632" + ], + "returns": {}, + "timestamp": 1702618603, + "chain": 43114, + "multi": false, + "commit": "d1b7f62" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43114/run-1702618610.json b/broadcast/DeploySessionKey.s.sol/43114/run-1702618610.json new file mode 100644 index 00000000..19b0379e --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/43114/run-1702618610.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xd6b638fd5050dcf5ec7c556ac5b22bc9287613d11eb2adf07f4c76306f45f632", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd6b638fd5050dcf5ec7c556ac5b22bc9287613d11eb2adf07f4c76306f45f632", + "transactionIndex": "0x43", + "blockHash": "0x3fcb222d59b08e030db250dabe16f5756b7e6171f7009f729255e237e5c6f5d7", + "blockNumber": "0x2541f6e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x2e5c6c", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xa98f5f7f83" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702618610, + "chain": 43114, + "multi": false, + "commit": "d1b7f62" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/43114/run-latest.json b/broadcast/DeploySessionKey.s.sol/43114/run-latest.json index 9babe603..19b0379e 100644 --- a/broadcast/DeploySessionKey.s.sol/43114/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/43114/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x53f56a8f7448559c802e9aa5263689779d17c1fb687f36e0850ff63baa1e9a3c", + "hash": "0xd6b638fd5050dcf5ec7c556ac5b22bc9287613d11eb2adf07f4c76306f45f632", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x13", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x14", "accessList": [] }, "additionalContracts": [], @@ -23,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x53f56a8f7448559c802e9aa5263689779d17c1fb687f36e0850ff63baa1e9a3c", - "transactionIndex": "0x2", - "blockHash": "0x18f02e9e53c9ffc50d894eca75932a7e9d559697909d546d6fe8f49a0b446190", - "blockNumber": "0x240d7f2", + "transactionHash": "0xd6b638fd5050dcf5ec7c556ac5b22bc9287613d11eb2adf07f4c76306f45f632", + "transactionIndex": "0x43", + "blockHash": "0x3fcb222d59b08e030db250dabe16f5756b7e6171f7009f729255e237e5c6f5d7", + "blockNumber": "0x2541f6e", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x179d27", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0x2e5c6c", + "gasUsed": "0x143f99", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x684ee1800" + "effectiveGasPrice": "0xa98f5f7f83" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068122, + "timestamp": 1702618610, "chain": 43114, "multi": false, - "commit": "fe8b969" + "commit": "d1b7f62" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/5/run-1702626723.json b/broadcast/DeploySessionKey.s.sol/5/run-1702626723.json new file mode 100644 index 00000000..894c7c99 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/5/run-1702626723.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xdb36562d246fc464cf7a8cdfde1d5db231d2e0cf3cd45c17c5cf7526b68b0ced", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x5e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xdb36562d246fc464cf7a8cdfde1d5db231d2e0cf3cd45c17c5cf7526b68b0ced" + ], + "returns": {}, + "timestamp": 1702626723, + "chain": 5, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/5/run-1702626736.json b/broadcast/DeploySessionKey.s.sol/5/run-1702626736.json new file mode 100644 index 00000000..3b0de49e --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/5/run-1702626736.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xdb36562d246fc464cf7a8cdfde1d5db231d2e0cf3cd45c17c5cf7526b68b0ced", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x5e", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xdb36562d246fc464cf7a8cdfde1d5db231d2e0cf3cd45c17c5cf7526b68b0ced", + "transactionIndex": "0x4", + "blockHash": "0x7b2ae66b6ed32d7736b82a17ee4b3cfb4303afb2b8a6f19f47d1bd48cf3ed59e", + "blockNumber": "0x9bdfde", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x286388", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e0d" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702626736, + "chain": 5, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/5/run-latest.json b/broadcast/DeploySessionKey.s.sol/5/run-latest.json index d636b04a..3b0de49e 100644 --- a/broadcast/DeploySessionKey.s.sol/5/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/5/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x547b2b8dbcce523327c129d3d333bbe0eb40d6dfd2ad346cb32e76ee4145073e", + "hash": "0xdb36562d246fc464cf7a8cdfde1d5db231d2e0cf3cd45c17c5cf7526b68b0ced", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x5d", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x5e", "accessList": [] }, "additionalContracts": [], @@ -23,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x547b2b8dbcce523327c129d3d333bbe0eb40d6dfd2ad346cb32e76ee4145073e", - "transactionIndex": "0x2", - "blockHash": "0xf720de92c15a01d3e47e3820420dbbef457c49afad3e0236b0fa26346d965833", - "blockNumber": "0x9955de", + "transactionHash": "0xdb36562d246fc464cf7a8cdfde1d5db231d2e0cf3cd45c17c5cf7526b68b0ced", + "transactionIndex": "0x4", + "blockHash": "0x7b2ae66b6ed32d7736b82a17ee4b3cfb4303afb2b8a6f19f47d1bd48cf3ed59e", + "blockNumber": "0x9bdfde", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x232dd5", - "gasUsed": "0x12f12a", + "cumulativeGasUsed": "0x286388", + "gasUsed": "0x14410b", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb2d05e0b" + "effectiveGasPrice": "0xb2d05e0d" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700069055, + "timestamp": 1702626736, "chain": 5, "multi": false, - "commit": "fe8b969" + "commit": "40e7b9d" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/56/run-1702627746.json b/broadcast/DeploySessionKey.s.sol/56/run-1702627746.json new file mode 100644 index 00000000..743984b1 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/56/run-1702627746.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x9f4b46e7aa90ff07f088c564a1a88de98796a61dd9e47e333c78445b6ecb1bf6", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x13" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x9f4b46e7aa90ff07f088c564a1a88de98796a61dd9e47e333c78445b6ecb1bf6" + ], + "returns": {}, + "timestamp": 1702627746, + "chain": 56, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/56/run-1702627760.json b/broadcast/DeploySessionKey.s.sol/56/run-1702627760.json new file mode 100644 index 00000000..6e23b16f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/56/run-1702627760.json @@ -0,0 +1,48 @@ +{ + "transactions": [ + { + "hash": "0x9f4b46e7aa90ff07f088c564a1a88de98796a61dd9e47e333c78445b6ecb1bf6", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x13" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x9f4b46e7aa90ff07f088c564a1a88de98796a61dd9e47e333c78445b6ecb1bf6", + "transactionIndex": "0x7c", + "blockHash": "0xdafe3f724694a933857eed166b060082aca090f82ffa7636dae204146fab3bbf", + "blockNumber": "0x20c7415", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xae7067", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x0", + "effectiveGasPrice": "0xb2d05e00" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702627760, + "chain": 56, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/56/run-latest.json b/broadcast/DeploySessionKey.s.sol/56/run-latest.json index c3083a38..6e23b16f 100644 --- a/broadcast/DeploySessionKey.s.sol/56/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/56/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x808070c3077438a70806d63793a87efe5127d92bd76e659fed8293efa710c4ea", + "hash": "0x9f4b46e7aa90ff07f088c564a1a88de98796a61dd9e47e333c78445b6ecb1bf6", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x00", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x12" + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x13" }, "additionalContracts": [], "isFixedGasLimit": false @@ -22,27 +22,27 @@ ], "receipts": [ { - "transactionHash": "0x808070c3077438a70806d63793a87efe5127d92bd76e659fed8293efa710c4ea", - "transactionIndex": "0x7", - "blockHash": "0xcb9714b030051a74f2ec4b955e906448033208a3de5b2855384583930f3fe4db", - "blockNumber": "0x1ff794c", + "transactionHash": "0x9f4b46e7aa90ff07f088c564a1a88de98796a61dd9e47e333c78445b6ecb1bf6", + "transactionIndex": "0x7c", + "blockHash": "0xdafe3f724694a933857eed166b060082aca090f82ffa7636dae204146fab3bbf", + "blockNumber": "0x20c7415", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x1ba9ff", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0xae7067", + "gasUsed": "0x143f99", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x0", - "effectiveGasPrice": "0x12a05f200" + "effectiveGasPrice": "0xb2d05e00" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068422, + "timestamp": 1702627760, "chain": 56, "multi": false, - "commit": "fe8b969" + "commit": "40e7b9d" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59140/run-1702625191.json b/broadcast/DeploySessionKey.s.sol/59140/run-1702625191.json new file mode 100644 index 00000000..febb08e0 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59140/run-1702625191.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x020fd1260cbbe5deb41938ca4c053eea82192cbaad798ed95619628a613d00e2", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x020fd1260cbbe5deb41938ca4c053eea82192cbaad798ed95619628a613d00e2" + ], + "returns": {}, + "timestamp": 1702625191, + "chain": 59140, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59140/run-1702625198.json b/broadcast/DeploySessionKey.s.sol/59140/run-1702625198.json new file mode 100644 index 00000000..0577af65 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59140/run-1702625198.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x020fd1260cbbe5deb41938ca4c053eea82192cbaad798ed95619628a613d00e2", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x020fd1260cbbe5deb41938ca4c053eea82192cbaad798ed95619628a613d00e2", + "transactionIndex": "0x0", + "blockHash": "0x6330073c11a33432a30c73e9f5975ba5f85169777b04f4e4ff74c9bc6dfd0416", + "blockNumber": "0x289aba", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x143f99", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702625198, + "chain": 59140, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59140/run-latest.json b/broadcast/DeploySessionKey.s.sol/59140/run-latest.json index b2a92f54..0577af65 100644 --- a/broadcast/DeploySessionKey.s.sol/59140/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/59140/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x13f23530f055eec8444432875bcfef912c53176b36f207152cdd760f2140859e", + "hash": "0x020fd1260cbbe5deb41938ca4c053eea82192cbaad798ed95619628a613d00e2", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0xb", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xc", "accessList": [] }, "additionalContracts": [], @@ -23,14 +23,14 @@ ], "receipts": [ { - "transactionHash": "0x13f23530f055eec8444432875bcfef912c53176b36f207152cdd760f2140859e", - "transactionIndex": "0x1", - "blockHash": "0x3b87df0a7223d6825eede06c6e043049c45ae6942f8d2ff7a2241582c1410809", - "blockNumber": "0x1ea839", + "transactionHash": "0x020fd1260cbbe5deb41938ca4c053eea82192cbaad798ed95619628a613d00e2", + "transactionIndex": "0x0", + "blockHash": "0x6330073c11a33432a30c73e9f5975ba5f85169777b04f4e4ff74c9bc6dfd0416", + "blockNumber": "0x289aba", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x1341d8", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0x143f99", + "gasUsed": "0x143f99", "contractAddress": null, "logs": [], "status": "0x1", @@ -42,8 +42,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700066895, + "timestamp": 1702625198, "chain": 59140, "multi": false, - "commit": "fe8b969" + "commit": "40e7b9d" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-1702625245.json b/broadcast/DeploySessionKey.s.sol/59144/run-1702625245.json new file mode 100644 index 00000000..2c34d3c9 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59144/run-1702625245.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x7c73d43cd47738e53f03bdaeaf5747431600ef6e0ca5cd0351e9d81cc2faa142", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x7c73d43cd47738e53f03bdaeaf5747431600ef6e0ca5cd0351e9d81cc2faa142" + ], + "returns": {}, + "timestamp": 1702625245, + "chain": 59144, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-1702625616.json b/broadcast/DeploySessionKey.s.sol/59144/run-1702625616.json new file mode 100644 index 00000000..60343279 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59144/run-1702625616.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702625616, + "chain": 59144, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-1702626540.json b/broadcast/DeploySessionKey.s.sol/59144/run-1702626540.json new file mode 100644 index 00000000..b2118878 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/59144/run-1702626540.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x10", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702626540, + "chain": 59144, + "multi": false, + "commit": "40e7b9d" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/59144/run-latest.json b/broadcast/DeploySessionKey.s.sol/59144/run-latest.json index 1d414c20..b2118878 100644 --- a/broadcast/DeploySessionKey.s.sol/59144/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/59144/run-latest.json @@ -1,49 +1,32 @@ { "transactions": [ { - "hash": "0x7e3b0bd88016ff0a7e8c4382dce49d16972e6cf2e11379134717291d1d105cbd", + "hash": null, "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0xf", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x10", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false } ], - "receipts": [ - { - "transactionHash": "0x7e3b0bd88016ff0a7e8c4382dce49d16972e6cf2e11379134717291d1d105cbd", - "transactionIndex": "0x6", - "blockHash": "0xe43385d98b3b54c905eb3fd70555ab7c1d609c14cc89763fdbbe3d02ec030143", - "blockNumber": "0xd2eb8", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x1535b8", - "gasUsed": "0x12efd0", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05e07" - } - ], + "receipts": [], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700066847, + "timestamp": 1702626540, "chain": 59144, "multi": false, - "commit": "fe8b969" + "commit": "40e7b9d" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/8453/run-1702624168.json b/broadcast/DeploySessionKey.s.sol/8453/run-1702624168.json new file mode 100644 index 00000000..882172cd --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/8453/run-1702624168.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702624168, + "chain": 8453, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/8453/run-1702624194.json b/broadcast/DeploySessionKey.s.sol/8453/run-1702624194.json new file mode 100644 index 00000000..355e303f --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/8453/run-1702624194.json @@ -0,0 +1,32 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702624194, + "chain": 8453, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/8453/run-1702625007.json b/broadcast/DeploySessionKey.s.sol/8453/run-1702625007.json new file mode 100644 index 00000000..10272cd8 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/8453/run-1702625007.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x25177a7dd5496e9528f112f6c7cacdfdb0336fa2f04d49f28f45b9409cca5632", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x25177a7dd5496e9528f112f6c7cacdfdb0336fa2f04d49f28f45b9409cca5632" + ], + "returns": {}, + "timestamp": 1702625007, + "chain": 8453, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/8453/run-1702625014.json b/broadcast/DeploySessionKey.s.sol/8453/run-1702625014.json new file mode 100644 index 00000000..007704e0 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/8453/run-1702625014.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x25177a7dd5496e9528f112f6c7cacdfdb0336fa2f04d49f28f45b9409cca5632", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x17", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x25177a7dd5496e9528f112f6c7cacdfdb0336fa2f04d49f28f45b9409cca5632", + "transactionIndex": "0x1", + "blockHash": "0x728c094e0134b64ec05b0f6270fd82e2a1081725395deb6ab7db3af6f6139e99", + "blockNumber": "0x78d107", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f6ce", + "gasUsed": "0x143f99", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e32" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702625014, + "chain": 8453, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/8453/run-latest.json b/broadcast/DeploySessionKey.s.sol/8453/run-latest.json index 053fe700..007704e0 100644 --- a/broadcast/DeploySessionKey.s.sol/8453/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/8453/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x113ae9714d892fec7973a8e91847503f4d14de7645c42d37b2fc73060f995c9e", + "hash": "0x25177a7dd5496e9528f112f6c7cacdfdb0336fa2f04d49f28f45b9409cca5632", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x14", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x17", "accessList": [] }, "additionalContracts": [], @@ -23,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x113ae9714d892fec7973a8e91847503f4d14de7645c42d37b2fc73060f995c9e", + "transactionHash": "0x25177a7dd5496e9528f112f6c7cacdfdb0336fa2f04d49f28f45b9409cca5632", "transactionIndex": "0x1", - "blockHash": "0x5b3b4643e3b9e766d8f606b41a426e79d3f99af276879a577d090aa90752f1cb", - "blockNumber": "0x654f52", + "blockHash": "0x728c094e0134b64ec05b0f6270fd82e2a1081725395deb6ab7db3af6f6139e99", + "blockNumber": "0x78d107", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x13b515", - "gasUsed": "0x12efd0", + "cumulativeGasUsed": "0x14f6ce", + "gasUsed": "0x143f99", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb2d05e35" + "effectiveGasPrice": "0xb2d05e32" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068235, + "timestamp": 1702625014, "chain": 8453, "multi": false, - "commit": "fe8b969" + "commit": "1019ad3" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84531/run-1702623971.json b/broadcast/DeploySessionKey.s.sol/84531/run-1702623971.json new file mode 100644 index 00000000..5ca0209d --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/84531/run-1702623971.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x081092f7555d0835bb7b919a148b55e139a34c8b0ff5520b332119cbfc2f3a55", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x23", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x081092f7555d0835bb7b919a148b55e139a34c8b0ff5520b332119cbfc2f3a55" + ], + "returns": {}, + "timestamp": 1702623971, + "chain": 84531, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84531/run-1702623977.json b/broadcast/DeploySessionKey.s.sol/84531/run-1702623977.json new file mode 100644 index 00000000..321aea75 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/84531/run-1702623977.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x081092f7555d0835bb7b919a148b55e139a34c8b0ff5520b332119cbfc2f3a55", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x23", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x081092f7555d0835bb7b919a148b55e139a34c8b0ff5520b332119cbfc2f3a55", + "transactionIndex": "0x1", + "blockHash": "0x5436829659d6f3f3fab0616862f00a2a34fa8395c7cba2d7ae93c64e635d0565", + "blockNumber": "0xd146ea", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f810", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d06b9d" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702623977, + "chain": 84531, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84531/run-latest.json b/broadcast/DeploySessionKey.s.sol/84531/run-latest.json index 0a06a38e..321aea75 100644 --- a/broadcast/DeploySessionKey.s.sol/84531/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/84531/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0xae0d868443f3505d3a7997884c67373080ca1b5ce2d137ae18e2c55d743b7f8b", + "hash": "0x081092f7555d0835bb7b919a148b55e139a34c8b0ff5520b332119cbfc2f3a55", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x21", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0x23", "accessList": [] }, "additionalContracts": [], @@ -23,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0xae0d868443f3505d3a7997884c67373080ca1b5ce2d137ae18e2c55d743b7f8b", + "transactionHash": "0x081092f7555d0835bb7b919a148b55e139a34c8b0ff5520b332119cbfc2f3a55", "transactionIndex": "0x1", - "blockHash": "0x315fcfe01888c9f388fb2b796a725a4c7370b25971a514896ab37cb6283f30d2", - "blockNumber": "0xbdc72e", + "blockHash": "0x5436829659d6f3f3fab0616862f00a2a34fa8395c7cba2d7ae93c64e635d0565", + "blockNumber": "0xd146ea", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x13eafb", - "gasUsed": "0x12f12a", + "cumulativeGasUsed": "0x14f810", + "gasUsed": "0x14410b", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" + "effectiveGasPrice": "0xb2d06b9d" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068208, + "timestamp": 1702623977, "chain": 84531, "multi": false, - "commit": "fe8b969" + "commit": "1019ad3" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84532/run-1702624030.json b/broadcast/DeploySessionKey.s.sol/84532/run-1702624030.json new file mode 100644 index 00000000..68e5ae58 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/84532/run-1702624030.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0x8986bc2e44c351c36e8aae9ca91aadeb7d3f2beb413854a9d22cec0e2d7f7fb0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x8986bc2e44c351c36e8aae9ca91aadeb7d3f2beb413854a9d22cec0e2d7f7fb0" + ], + "returns": {}, + "timestamp": 1702624030, + "chain": 84532, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84532/run-1702624036.json b/broadcast/DeploySessionKey.s.sol/84532/run-1702624036.json new file mode 100644 index 00000000..2e5387a2 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/84532/run-1702624036.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x8986bc2e44c351c36e8aae9ca91aadeb7d3f2beb413854a9d22cec0e2d7f7fb0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8986bc2e44c351c36e8aae9ca91aadeb7d3f2beb413854a9d22cec0e2d7f7fb0", + "transactionIndex": "0x1", + "blockHash": "0x720fda72ec7e6e20df0e4428792d99c9f80dd9e1babecd75d8a27a426a22a5d1", + "blockNumber": "0x344e20", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f84c", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702624036, + "chain": 84532, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/84532/run-latest.json b/broadcast/DeploySessionKey.s.sol/84532/run-latest.json new file mode 100644 index 00000000..2e5387a2 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/84532/run-latest.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0x8986bc2e44c351c36e8aae9ca91aadeb7d3f2beb413854a9d22cec0e2d7f7fb0", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xa", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x8986bc2e44c351c36e8aae9ca91aadeb7d3f2beb413854a9d22cec0e2d7f7fb0", + "transactionIndex": "0x1", + "blockHash": "0x720fda72ec7e6e20df0e4428792d99c9f80dd9e1babecd75d8a27a426a22a5d1", + "blockNumber": "0x344e20", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14f84c", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702624036, + "chain": 84532, + "multi": false, + "commit": "1019ad3" +} \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index b7ff28f7..b93f1c69 100644 --- a/foundry.toml +++ b/foundry.toml @@ -15,9 +15,30 @@ runs = 1024 [etherscan] mainnet = { key = "${ETHERSCAN_API_KEY}" } goerli = { key = "${ETHERSCAN_API_KEY}" } +sepolia = { key = "${ETHERSCAN_API_KEY}" } + polygon = { key = "${POLYGONSCAN_API_KEY}" } mumbai = { key = "${POLYGONSCAN_API_KEY}" } + base = { key = "${BASESCAN_API_KEY}" } base-goerli = { key = "${BASESCAN_API_KEY}" } +base-sepolia = { key = "${BASESCAN_API_KEY}" } + arbitrum = { key = "${ARBISCAN_API_KEY}" } arbitrum-goerli = { key = "${ARBISCAN_API_KEY}" } +arbitrum-sepolia = { key = "${ARBISCAN_API_KEY}" } + +optimism = { key = "${OPTIMISMSCAN_API_KEY}" } +optimism-goerli = { key = "${OPTIMISMSCAN_API_KEY}" } +optimism-sepolia = { key = "${OPTIMISMSCAN_API_KEY}" } + +avalanche = { key = "${AVALANCHE_API_KEY}" } +fuji = { key = "${AVALANCHE_API_KEY}" } + +linea = { key = "${LINEASCAN_API_KEY}" } +linea-testnet = { key = "${LINEASCAN_API_KEY}" } + +bsc = { key = "${BSCSCAN_API_KEY}" } +opbnb = { key = "${BSCSCAN_API_KEY}" } + +# astar-testnet = { key = "${BSCSCAN_API_KEY}" } diff --git a/scripts/DeploySessionKey.s.sol b/scripts/DeploySessionKey.s.sol index 6e637906..c6a1daae 100644 --- a/scripts/DeploySessionKey.s.sol +++ b/scripts/DeploySessionKey.s.sol @@ -4,15 +4,13 @@ import "src/validator/SessionKeyValidator.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; contract DeploySessionKey is Script { - address constant EXPECTED_ADDRESS_SESSION_KEY_VALIDATOR = 0x1C1D5b70aD6e0c04366aab100261A6Bcc251EA3f; + address constant EXPECTED_ADDRESS = 0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5; function run() public { - uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); - vm.startBroadcast(key); -// if(EXPECTED_ADDRESS_SESSION_KEY_VALIDATOR.code.length == 0) { - console.log("deploying SessionKeyValidator"); - SessionKeyValidator validator = new SessionKeyValidator{salt:0}(); - console.log("validator address: %s", address(validator)); - // } + address deployer = vm.envAddress("DEPLOYER"); + vm.startBroadcast(deployer); + console.log("deploying SessionKeyValidator"); + SessionKeyValidator validator = new SessionKeyValidator{salt:0}(); + console.log("validator address: %s", address(validator)); vm.stopBroadcast(); } } From 5506ec896b6d147fc65703b384c6aa4ae9c96f34 Mon Sep 17 00:00:00 2001 From: taek Date: Fri, 15 Dec 2023 17:36:39 +0900 Subject: [PATCH 19/51] deployed on gnosischain (#63) --- .../100/run-1702629231.json | 34 +++++++++++++ .../100/run-1702629238.json | 49 +++++++++++++++++++ .../100/run-latest.json | 28 +++++------ .../10200/run-1702629272.json | 34 +++++++++++++ .../10200/run-1702629285.json | 49 +++++++++++++++++++ .../10200/run-latest.json | 24 ++++----- 6 files changed, 192 insertions(+), 26 deletions(-) create mode 100644 broadcast/DeploySessionKey.s.sol/100/run-1702629231.json create mode 100644 broadcast/DeploySessionKey.s.sol/100/run-1702629238.json create mode 100644 broadcast/DeploySessionKey.s.sol/10200/run-1702629272.json create mode 100644 broadcast/DeploySessionKey.s.sol/10200/run-1702629285.json diff --git a/broadcast/DeploySessionKey.s.sol/100/run-1702629231.json b/broadcast/DeploySessionKey.s.sol/100/run-1702629231.json new file mode 100644 index 00000000..5dadd262 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/100/run-1702629231.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xc5935bd99c60423f0cd3b306e6195ecf502fa4a9827de7d671972fdef1d99370", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xc5935bd99c60423f0cd3b306e6195ecf502fa4a9827de7d671972fdef1d99370" + ], + "returns": {}, + "timestamp": 1702629231, + "chain": 100, + "multi": false, + "commit": "49d2bab" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/100/run-1702629238.json b/broadcast/DeploySessionKey.s.sol/100/run-1702629238.json new file mode 100644 index 00000000..66d4e864 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/100/run-1702629238.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xc5935bd99c60423f0cd3b306e6195ecf502fa4a9827de7d671972fdef1d99370", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xc5935bd99c60423f0cd3b306e6195ecf502fa4a9827de7d671972fdef1d99370", + "transactionIndex": "0x3", + "blockHash": "0x782040c94e1c547989cb0f743a394b61b05f87a65c760147620ba869f3881105", + "blockNumber": "0x1dfe7ff", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x154233", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e08" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702629238, + "chain": 100, + "multi": false, + "commit": "49d2bab" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/100/run-latest.json b/broadcast/DeploySessionKey.s.sol/100/run-latest.json index 5a11f3a8..66d4e864 100644 --- a/broadcast/DeploySessionKey.s.sol/100/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/100/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x1403af06c7d855d2205a1916af3ab25948478b7b2fc67ab4ed28054bf7d2e0a0", + "hash": "0xc5935bd99c60423f0cd3b306e6195ecf502fa4a9827de7d671972fdef1d99370", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x8", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xd", "accessList": [] }, "additionalContracts": [], @@ -23,27 +23,27 @@ ], "receipts": [ { - "transactionHash": "0x1403af06c7d855d2205a1916af3ab25948478b7b2fc67ab4ed28054bf7d2e0a0", - "transactionIndex": "0x7", - "blockHash": "0xc673a25012302bb446269db2967a462548d9783f2d7318c5237fb11635824fd6", - "blockNumber": "0x1d882a0", + "transactionHash": "0xc5935bd99c60423f0cd3b306e6195ecf502fa4a9827de7d671972fdef1d99370", + "transactionIndex": "0x3", + "blockHash": "0x782040c94e1c547989cb0f743a394b61b05f87a65c760147620ba869f3881105", + "blockNumber": "0x1dfe7ff", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x1c048a", - "gasUsed": "0x12f12a", + "cumulativeGasUsed": "0x154233", + "gasUsed": "0x14410b", "contractAddress": null, "logs": [], "status": "0x1", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "type": "0x2", - "effectiveGasPrice": "0x2ba415f2e" + "effectiveGasPrice": "0xb2d05e08" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068564, + "timestamp": 1702629238, "chain": 100, "multi": false, - "commit": "fe8b969" + "commit": "49d2bab" } \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10200/run-1702629272.json b/broadcast/DeploySessionKey.s.sol/10200/run-1702629272.json new file mode 100644 index 00000000..b6b53a4b --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10200/run-1702629272.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xe5a89b24d7cca840f4bf8c41cb2cd0adc6ac615b60b5c93b426d385d3700c98d", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xe5a89b24d7cca840f4bf8c41cb2cd0adc6ac615b60b5c93b426d385d3700c98d" + ], + "returns": {}, + "timestamp": 1702629272, + "chain": 10200, + "multi": false, + "commit": "49d2bab" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10200/run-1702629285.json b/broadcast/DeploySessionKey.s.sol/10200/run-1702629285.json new file mode 100644 index 00000000..e9338981 --- /dev/null +++ b/broadcast/DeploySessionKey.s.sol/10200/run-1702629285.json @@ -0,0 +1,49 @@ +{ + "transactions": [ + { + "hash": "0xe5a89b24d7cca840f4bf8c41cb2cd0adc6ac615b60b5c93b426d385d3700c98d", + "transactionType": "CREATE2", + "contractName": "SessionKeyValidator", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x1d9d02", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xf", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe5a89b24d7cca840f4bf8c41cb2cd0adc6ac615b60b5c93b426d385d3700c98d", + "transactionIndex": "0x0", + "blockHash": "0x3eddb83d67cff9930a087ec819d8f937ce85bb2dead4685b7a26d4ae724f7735", + "blockNumber": "0x708ea7", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x14410b", + "gasUsed": "0x14410b", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05e07" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1702629285, + "chain": 10200, + "multi": false, + "commit": "49d2bab" +} \ No newline at end of file diff --git a/broadcast/DeploySessionKey.s.sol/10200/run-latest.json b/broadcast/DeploySessionKey.s.sol/10200/run-latest.json index 7284a916..e9338981 100644 --- a/broadcast/DeploySessionKey.s.sol/10200/run-latest.json +++ b/broadcast/DeploySessionKey.s.sol/10200/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0xbe4bba0dc48787f5b2faeeb3c03b083771b920ac8e47cdc91711ee8d6580b466", + "hash": "0xe5a89b24d7cca840f4bf8c41cb2cd0adc6ac615b60b5c93b426d385d3700c98d", "transactionType": "CREATE2", "contractName": "SessionKeyValidator", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractAddress": "0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", + "gas": "0x1d9d02", "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0xc", + "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576116fb908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034c57508163333daf92146103195781633a871cdd146102d557816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d6565b80f35b5080fd5b905082346101085781600319360112610108576100d8610532565b50602435906001600160401b03821161010857506100f990369084016104ea565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104ea565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d6565b6100b692506001600160801b03915033845283602052832054166105d6565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610532565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610532565b61022661051c565b90600180871b03809116835260016020528383209116825260205220805491600182015490600265ffffffffffff93015492815194855280831660208601528260301c169084015260601c60608301526080820152f35b919050346102d157816003193601126102d15791819261029b61051c565b9035825260026020528282209060018060a01b03168252602052205465ffffffffffff825191818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b9576101609085360301126101085750602092610312910161064c565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104ea565b8492509060203660031901126102d1576001600160401b039184358381116104e25761037b90369087016104ea565b806014116104e657806034116104e65780603a116104e6578084116104e657806054116104e6576074116104e25760548101359360a08301908111838210176104cf579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046060608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bc576100b69596506001011680936001600160801b0319161790551461057f565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610517578235916001600160401b038311610517576020838186019501011161051757565b600080fd5b602435906001600160a01b038216820361051757565b600435906001600160a01b038216820361051757565b90601f801991011681019081106001600160401b0382111761056957604052565b634e487b7160e01b600052604160045260246000fd5b1561058657565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105fe6001600160801b0385169360801c841161057f565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051757018035906001600160401b0382116105175760200191813603831361051757565b610140810161065b818361061a565b601411610517573560601c906000908282526001916020948386526040808320338452875280832060028101548489528285205460801c10156108f257858101978854928360601c88811460001461086957506106bc61012086018661061a565b9050156108175750505b54156107f757506106da606082018261061a565b93909184600411806104e25783356001600160e01b03191690635194544760e01b821480156107e4575b1561076e575050906107159161061a565b60559391931161010857509061074692916075820135820192605560758186013595019381810135010191876112ba565b919091610767575065ffffffffffff610764935460301c169161094b565b90565b9250505090565b909195509392936102d157631a7e6adf60e11b036107da57610790818561061a565b6055116102d157908160556107a8930135019461061a565b605592919211610108575090816075610746949301350191607560558401359301916075605583013592019087610db6565b5050505091505090565b5085905063b68df16d60e01b8214610704565b949350505050610764925065ffffffffffff808360301c1692169061094b565b60849250519062461bcd60e51b82526004820152602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152fd5b80610877575b5050506106c6565b61088561012087018761061a565b6014116108ee573560601c0361089b578061086f565b60849250519062461bcd60e51b82526004820152602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152fd5b8780fd5b815162461bcd60e51b815260048101899052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b91909160043561014481013501602060243581526000917b19457468657265756d205369676e6564204d6573736167653a0a33328352603c600420916040918251608081018181106001600160401b03821117610a865784526041808252838201923660798201116108ee5790806038899301853781606184015260019386519783525186528580845114610a605750825114610a45576001925060809150805b5afa51923d15610a3857606052526001600160a01b03908116911603610a315760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b6001926080928660609182810151851a8852015190526109ec565b9092015160ff81901c601b0185526001600160ff1b0316606052600192608092506109ec565b634e487b7160e01b87526041600452602487fd5b6000198114610aa95760010190565b634e487b7160e01b600052601160045260246000fd5b356001600160a01b03811681036105175790565b15610ada57565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b15610b3257565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b15610b9057565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105175790565b359065ffffffffffff8216820361051757565b602091828252610140820190803563ffffffff81168091036105175784840152808401356001600160a01b0381169081900361051757604090818501528082013563ffffffff60e01b811680910361051757606090818601528083013560808601526080830135601e1984360301811215610517578301908682359201966001600160401b03831161051757818302360388136105175792919081610120968760a08a015252610160870197936000905b838210610d285750505050505065ffffffffffff9081610ce860a08301610c02565b1660c085015281610cfb60c08301610c02565b1660e0850152610d0d60e08201610c02565b91610100921682850152013591600283101561051757015290565b90919293949889358152818a01359060068210156105175782810191909152898601358682015283019883019493929160010190610cc6565b9092916001600160401b038411610569578360051b60209283604051610d8982850182610548565b809781520191810192831161051757905b828210610da75750505050565b81358152908301908301610d9a565b9491959390929560009560018060a01b0316600052600160205260406000203360005260205260406000209265ffffffffffff6001850154169760005b600480880135880101358110610e0c5750505050505050565b60048701358701600582901b810160240135903603608219018112156105175782821015610ff95761011e19853603018260051b860135121561051757610ed890610ed390610ec490610e8a8b600587901b8a01358a01602001836001600160a01b03610e7883610abf565b1615928315611017575b505050610ad3565b610eaf8b60448360608960051b8d01358d010135926004810135010101351115610b2b565b60048b01358b0101606481019060240161061a565b8460051b880135880191611513565b610b89565b610f3f6002870154610f20610f2e610ef78560051b8901358901610bf1565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610548565b5190208260051b86013586016110c0565b65ffffffffffff8b1665ffffffffffff82161161100f575b5082811015610ff9578060051b850135601e1986360301811215610517576001600160401b038187013511610517578086013560051b36036020828801011361051757610fd9908754610fd46040516020810190610fc181610f208960051b8d01358d0185610c15565b5190209236908a01803590602001610d61565b611056565b15610fec57610fe790610a9a565b610df3565b5060019750505050505050565b634e487b7160e01b600052603260045260246000fd5b995038610f57565b91925061102d9160048101350101602401610abf565b906001600160a01b039061104090610abf565b6001600160a01b0390921691161438838e610e82565b919091805180611067575b50501490565b91906020908180820191600595861b0101925b81518111851b908152828251911852816040600020910193838510156110a157939061107a565b50925050503880611061565b3565ffffffffffff811681036105175790565b9065ffffffffffff60a0830160c08401826110da826110ad565b166111d957506110eb60e0916110ad565b935b0191816110f9846110ad565b16611105575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c1601908382116111c5575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b161781556111679082905460301c16926110ad565b1610611175573880806110ff565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b9390826111e5826110ad565b1615611261576000848152600260205260408120338252602052604081209184835497818916928315156000146112485750611220906110ad565b1601908482116111c55750908360e0939216955b65ffffffffffff19168685161790556110ed565b91505060e09493925061125b91506110ad565b95611234565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b91959390949260009560009360018060a01b038091168552602094600186526040812033825286526040812099806004116100b95783356001600160e01b031916635194544760e01b14928588018161131282610abf565b16159081156114b3575b506113279150610ad3565b8215611438576044116101085761136d92610ed3928592611352606085013560248501351115610b2b565b50156114315760445b81013501602460048201359101611513565b6113a96113c6600289015461138184610bf1565b60405187810192835260e09190911b6001600160e01b03191660208301529283906024830190565b03926113bd601f1994858101835282610548565b519020836110c0565b9765ffffffffffff8060018301541680918b1610611427575b509161140361140f61141a97969593610fd495549660405193849182019586610c15565b03908101835282610548565b519020933691610d61565b1561142157565b60019150565b98506114036113df565b602461135b565b5061010084013560028110156100b95760010361145e5761136d92610ed3928592611352565b60405162461bcd60e51b815260048101879052602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b9050826024116114da57906114ca61132792610abf565b16601086013560601c143861131c565b8380fd5b903590601e198136030182121561051757018035906001600160401b0382116105175760200191606082023603831361051757565b60049082821161051757604090848201356001600160e01b03198181169182900361051757823516036116f15760005b6080860161155181886114de565b90508210156116e55761156490876114de565b8210156116d057606082020180358086018087116116bb5760248083018092116116a857508710610517578301850135602082013560068110156105175780158061169b575b156115bd57505050505050505050600090565b600181148061168e575b156115da57505050505050505050600090565b6002811480611681575b156115f757505050505050505050600090565b6003811480611675575b1561161457505050505050505050600090565b86811480611669575b1561163057505050505050505050600090565b6005869114928361165c575b5050506116515761164c90610a9a565b611543565b505050505050600090565b013514905038848161163c565b5085830135821161161d565b50858301358210611601565b50858301358210156115e4565b50858301358211156115c7565b50858301358214156115aa565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", + "nonce": "0xf", "accessList": [] }, "additionalContracts": [], @@ -23,14 +23,14 @@ ], "receipts": [ { - "transactionHash": "0xbe4bba0dc48787f5b2faeeb3c03b083771b920ac8e47cdc91711ee8d6580b466", + "transactionHash": "0xe5a89b24d7cca840f4bf8c41cb2cd0adc6ac615b60b5c93b426d385d3700c98d", "transactionIndex": "0x0", - "blockHash": "0x115179ebc6650beae3976bcf3d37cb298e728b5754444ce0c7b65f6f7af6e119", - "blockNumber": "0x6aad1e", + "blockHash": "0x3eddb83d67cff9930a087ec819d8f937ce85bb2dead4685b7a26d4ae724f7735", + "blockNumber": "0x708ea7", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x12f12a", - "gasUsed": "0x12f12a", + "cumulativeGasUsed": "0x14410b", + "gasUsed": "0x14410b", "contractAddress": null, "logs": [], "status": "0x1", @@ -42,8 +42,8 @@ "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700068638, + "timestamp": 1702629285, "chain": 10200, "multi": false, - "commit": "fe8b969" + "commit": "49d2bab" } \ No newline at end of file From b47765206c8f3e545e59db06216bbd5f0ec91409 Mon Sep 17 00:00:00 2001 From: Quentin Nivelais Date: Thu, 21 Dec 2023 14:37:51 +0100 Subject: [PATCH 20/51] =?UTF-8?q?=E2=9A=A1=EF=B8=8F=20Migrte=20from=20requ?= =?UTF-8?q?ire(string)=20to=20revert=20error=20on=20Factory=20&=20LiteEcds?= =?UTF-8?q?a=20(#58)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/factory/KernelFactory.sol | 13 +++++++++++-- src/lite/KernelLiteECDSA.sol | 8 ++++++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/factory/KernelFactory.sol b/src/factory/KernelFactory.sol index 2957eb18..a88dd775 100644 --- a/src/factory/KernelFactory.sol +++ b/src/factory/KernelFactory.sol @@ -6,8 +6,14 @@ import {IEntryPoint} from "I4337/interfaces/IEntryPoint.sol"; import {Ownable} from "solady/auth/Ownable.sol"; contract KernelFactory is AdminLessERC1967Factory, Ownable { + /// Error throwned when an implementation isn't allowed + error ImplementationNotAllowed(); + + /// @dev The entry point contract. IEntryPoint public entryPoint; - mapping(address => bool) public isAllowedImplementation; + + /// @dev Check if an implementation is allowed. + mapping(address implementation => bool isAllowed) public isAllowedImplementation; constructor(address _owner, IEntryPoint _entryPoint) { _initializeOwner(_owner); @@ -27,8 +33,11 @@ contract KernelFactory is AdminLessERC1967Factory, Ownable { payable returns (address proxy) { - require(isAllowedImplementation[_implementation], "KernelFactory: implementation not allowed"); + // Ensure that the implementation contract is allowed + if (!isAllowedImplementation[_implementation]) revert ImplementationNotAllowed(); + // Create the salt for the account bytes32 salt = bytes32(uint256(keccak256(abi.encodePacked(_data, _index))) & type(uint96).max); + // Deploy the proxy and return it's address proxy = deployDeterministicAndCall(_implementation, salt, _data); } diff --git a/src/lite/KernelLiteECDSA.sol b/src/lite/KernelLiteECDSA.sol index a483d63d..4f3a1a6f 100644 --- a/src/lite/KernelLiteECDSA.sol +++ b/src/lite/KernelLiteECDSA.sol @@ -19,6 +19,7 @@ struct KernelLiteECDSAStorage { /// @dev A lite version of the Kernel contract which only uses ECDSA signatures for validation contract KernelLiteECDSA is Kernel { error InvalidAccess(); + error InvalidValidator(); address public immutable KERNEL_ECDSA_VALIDATOR; @@ -45,8 +46,11 @@ contract KernelLiteECDSA is Kernel { /// @dev Set the initial data for this kernel (setup ecdsa signer address) function _setInitialData(IKernelValidator _validator, bytes calldata _data) internal override { - require(address(_validator) == KERNEL_ECDSA_VALIDATOR, "KernelLiteECDSA: invalid validator"); - require(getKernelLiteECDSAStorage().owner == address(0), "KernelLiteECDSA: already initialized"); + // Ensure the validator is valid + if (address(_validator) != KERNEL_ECDSA_VALIDATOR) revert InvalidValidator(); + // Ensure the account isn't already initialized + if (getKernelLiteECDSAStorage().owner != address(0)) revert AlreadyInitialized(); + address owner = address(bytes20(_data[0:20])); getKernelLiteECDSAStorage().owner = owner; } From b1ae763c0627b7b810f0456e643aa215dc926809 Mon Sep 17 00:00:00 2001 From: jhw Date: Wed, 3 Jan 2024 02:34:57 +0800 Subject: [PATCH 21/51] feat: add stealth address plugin (#64) Add stealth address plugin to preserve privacy of smart acount owner. Two modes to validate signature - 0: signed by private key of stealth address - 1: signed by owner's private key and secret used to generate stealth address. --- .../stealthAddressValidator/EllipticCurve.sol | 328 ++++++++++++++++++ .../StealthAddressValidator.sol | 182 ++++++++++ .../StealthAggreagteSignature.sol | 47 +++ .../validator/StealthAddressValidator.t.sol | 311 +++++++++++++++++ 4 files changed, 868 insertions(+) create mode 100644 src/validator/stealthAddressValidator/EllipticCurve.sol create mode 100644 src/validator/stealthAddressValidator/StealthAddressValidator.sol create mode 100644 src/validator/stealthAddressValidator/StealthAggreagteSignature.sol create mode 100644 test/foundry/validator/StealthAddressValidator.t.sol diff --git a/src/validator/stealthAddressValidator/EllipticCurve.sol b/src/validator/stealthAddressValidator/EllipticCurve.sol new file mode 100644 index 00000000..94a8eedf --- /dev/null +++ b/src/validator/stealthAddressValidator/EllipticCurve.sol @@ -0,0 +1,328 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.0; + +/** + * @title Elliptic Curve Library + * @dev Library providing arithmetic operations over elliptic curves. + * This library does not check whether the inserted points belong to the curve + * `isOnCurve` function should be used by the library user to check the aforementioned statement. + * @author Witnet Foundation + */ +library EllipticCurve { + // Pre-computed constant for 2 ** 255 + uint256 private constant U255_MAX_PLUS_1 = + 57896044618658097711785492504343953926634992332820282019728792003956564819968; + + /// @dev Modular euclidean inverse of a number (mod p). + /// @param _x The number + /// @param _pp The modulus + /// @return q such that x*q = 1 (mod _pp) + function invMod(uint256 _x, uint256 _pp) internal pure returns (uint256) { + require(_x != 0 && _x != _pp && _pp != 0, "Invalid number"); + uint256 q = 0; + uint256 newT = 1; + uint256 r = _pp; + uint256 t; + while (_x != 0) { + t = r / _x; + (q, newT) = (newT, addmod(q, (_pp - mulmod(t, newT, _pp)), _pp)); + (r, _x) = (_x, r - t * _x); + } + + return q; + } + + /// @dev Modular exponentiation, b^e % _pp. + /// Source: https://github.com/androlo/standard-contracts/blob/master/contracts/src/crypto/ECCMath.sol + /// @param _base base + /// @param _exp exponent + /// @param _pp modulus + /// @return r such that r = b**e (mod _pp) + function expMod(uint256 _base, uint256 _exp, uint256 _pp) internal pure returns (uint256) { + require(_pp != 0, "EllipticCurve: modulus is zero"); + + if (_base == 0) return 0; + if (_exp == 0) return 1; + + uint256 r = 1; + uint256 bit = U255_MAX_PLUS_1; + assembly { + for {} gt(bit, 0) {} { + r := mulmod(mulmod(r, r, _pp), exp(_base, iszero(iszero(and(_exp, bit)))), _pp) + r := mulmod(mulmod(r, r, _pp), exp(_base, iszero(iszero(and(_exp, div(bit, 2))))), _pp) + r := mulmod(mulmod(r, r, _pp), exp(_base, iszero(iszero(and(_exp, div(bit, 4))))), _pp) + r := mulmod(mulmod(r, r, _pp), exp(_base, iszero(iszero(and(_exp, div(bit, 8))))), _pp) + bit := div(bit, 16) + } + } + + return r; + } + + /// @dev Converts a point (x, y, z) expressed in Jacobian coordinates to affine coordinates (x', y', 1). + /// @param _x coordinate x + /// @param _y coordinate y + /// @param _z coordinate z + /// @param _pp the modulus + /// @return (x', y') affine coordinates + function toAffine(uint256 _x, uint256 _y, uint256 _z, uint256 _pp) internal pure returns (uint256, uint256) { + uint256 zInv = invMod(_z, _pp); + uint256 zInv2 = mulmod(zInv, zInv, _pp); + uint256 x2 = mulmod(_x, zInv2, _pp); + uint256 y2 = mulmod(_y, mulmod(zInv, zInv2, _pp), _pp); + + return (x2, y2); + } + + /// @dev Derives the y coordinate from a compressed-format point x [[SEC-1]](https://www.secg.org/SEC1-Ver-1.0.pdf). + /// @param _prefix parity byte (0x02 even, 0x03 odd) + /// @param _x coordinate x + /// @param _aa constant of curve + /// @param _bb constant of curve + /// @param _pp the modulus + /// @return y coordinate y + function deriveY(uint8 _prefix, uint256 _x, uint256 _aa, uint256 _bb, uint256 _pp) + internal + pure + returns (uint256) + { + require(_prefix == 0x02 || _prefix == 0x03, "EllipticCurve:innvalid compressed EC point prefix"); + + // x^3 + ax + b + uint256 y2 = addmod(mulmod(_x, mulmod(_x, _x, _pp), _pp), addmod(mulmod(_x, _aa, _pp), _bb, _pp), _pp); + y2 = expMod(y2, (_pp + 1) / 4, _pp); + // uint256 cmp = yBit ^ y_ & 1; + uint256 y = (y2 + _prefix) % 2 == 0 ? y2 : _pp - y2; + + return y; + } + + /// @dev Check whether point (x,y) is on curve defined by a, b, and _pp. + /// @param _x coordinate x of P1 + /// @param _y coordinate y of P1 + /// @param _aa constant of curve + /// @param _bb constant of curve + /// @param _pp the modulus + /// @return true if x,y in the curve, false else + function isOnCurve(uint256 _x, uint256 _y, uint256 _aa, uint256 _bb, uint256 _pp) internal pure returns (bool) { + if (0 == _x || _x >= _pp || 0 == _y || _y >= _pp) { + return false; + } + // y^2 + uint256 lhs = mulmod(_y, _y, _pp); + // x^3 + uint256 rhs = mulmod(mulmod(_x, _x, _pp), _x, _pp); + if (_aa != 0) { + // x^3 + a*x + rhs = addmod(rhs, mulmod(_x, _aa, _pp), _pp); + } + if (_bb != 0) { + // x^3 + a*x + b + rhs = addmod(rhs, _bb, _pp); + } + + return lhs == rhs; + } + + /// @dev Calculate inverse (x, -y) of point (x, y). + /// @param _x coordinate x of P1 + /// @param _y coordinate y of P1 + /// @param _pp the modulus + /// @return (x, -y) + function ecInv(uint256 _x, uint256 _y, uint256 _pp) internal pure returns (uint256, uint256) { + return (_x, (_pp - _y) % _pp); + } + + /// @dev Add two points (x1, y1) and (x2, y2) in affine coordinates. + /// @param _x1 coordinate x of P1 + /// @param _y1 coordinate y of P1 + /// @param _x2 coordinate x of P2 + /// @param _y2 coordinate y of P2 + /// @param _aa constant of the curve + /// @param _pp the modulus + /// @return (qx, qy) = P1+P2 in affine coordinates + function ecAdd(uint256 _x1, uint256 _y1, uint256 _x2, uint256 _y2, uint256 _aa, uint256 _pp) + internal + pure + returns (uint256, uint256) + { + uint256 x = 0; + uint256 y = 0; + uint256 z = 0; + + // Double if x1==x2 else add + if (_x1 == _x2) { + // y1 = -y2 mod p + if (addmod(_y1, _y2, _pp) == 0) { + return (0, 0); + } else { + // P1 = P2 + (x, y, z) = jacDouble(_x1, _y1, 1, _aa, _pp); + } + } else { + (x, y, z) = jacAdd(_x1, _y1, 1, _x2, _y2, 1, _pp); + } + // Get back to affine + return toAffine(x, y, z, _pp); + } + + /// @dev Substract two points (x1, y1) and (x2, y2) in affine coordinates. + /// @param _x1 coordinate x of P1 + /// @param _y1 coordinate y of P1 + /// @param _x2 coordinate x of P2 + /// @param _y2 coordinate y of P2 + /// @param _aa constant of the curve + /// @param _pp the modulus + /// @return (qx, qy) = P1-P2 in affine coordinates + function ecSub(uint256 _x1, uint256 _y1, uint256 _x2, uint256 _y2, uint256 _aa, uint256 _pp) + internal + pure + returns (uint256, uint256) + { + // invert square + (uint256 x, uint256 y) = ecInv(_x2, _y2, _pp); + // P1-square + return ecAdd(_x1, _y1, x, y, _aa, _pp); + } + + /// @dev Multiply point (x1, y1, z1) times d in affine coordinates. + /// @param _k scalar to multiply + /// @param _x coordinate x of P1 + /// @param _y coordinate y of P1 + /// @param _aa constant of the curve + /// @param _pp the modulus + /// @return (qx, qy) = d*P in affine coordinates + function ecMul(uint256 _k, uint256 _x, uint256 _y, uint256 _aa, uint256 _pp) + internal + pure + returns (uint256, uint256) + { + // Jacobian multiplication + (uint256 x1, uint256 y1, uint256 z1) = jacMul(_k, _x, _y, 1, _aa, _pp); + // Get back to affine + return toAffine(x1, y1, z1, _pp); + } + + /// @dev Adds two points (x1, y1, z1) and (x2 y2, z2). + /// @param _x1 coordinate x of P1 + /// @param _y1 coordinate y of P1 + /// @param _z1 coordinate z of P1 + /// @param _x2 coordinate x of square + /// @param _y2 coordinate y of square + /// @param _z2 coordinate z of square + /// @param _pp the modulus + /// @return (qx, qy, qz) P1+square in Jacobian + function jacAdd(uint256 _x1, uint256 _y1, uint256 _z1, uint256 _x2, uint256 _y2, uint256 _z2, uint256 _pp) + internal + pure + returns (uint256, uint256, uint256) + { + if (_x1 == 0 && _y1 == 0) return (_x2, _y2, _z2); + if (_x2 == 0 && _y2 == 0) return (_x1, _y1, _z1); + + // We follow the equations described in https://pdfs.semanticscholar.org/5c64/29952e08025a9649c2b0ba32518e9a7fb5c2.pdf Section 5 + uint256[4] memory zs; // z1^2, z1^3, z2^2, z2^3 + zs[0] = mulmod(_z1, _z1, _pp); + zs[1] = mulmod(_z1, zs[0], _pp); + zs[2] = mulmod(_z2, _z2, _pp); + zs[3] = mulmod(_z2, zs[2], _pp); + + // u1, s1, u2, s2 + zs = [mulmod(_x1, zs[2], _pp), mulmod(_y1, zs[3], _pp), mulmod(_x2, zs[0], _pp), mulmod(_y2, zs[1], _pp)]; + + // In case of zs[0] == zs[2] && zs[1] == zs[3], double function should be used + require(zs[0] != zs[2] || zs[1] != zs[3], "Use jacDouble function instead"); + + uint256[4] memory hr; + //h + hr[0] = addmod(zs[2], _pp - zs[0], _pp); + //r + hr[1] = addmod(zs[3], _pp - zs[1], _pp); + //h^2 + hr[2] = mulmod(hr[0], hr[0], _pp); + // h^3 + hr[3] = mulmod(hr[2], hr[0], _pp); + // qx = -h^3 -2u1h^2+r^2 + uint256 qx = addmod(mulmod(hr[1], hr[1], _pp), _pp - hr[3], _pp); + qx = addmod(qx, _pp - mulmod(2, mulmod(zs[0], hr[2], _pp), _pp), _pp); + // qy = -s1*z1*h^3+r(u1*h^2 -x^3) + uint256 qy = mulmod(hr[1], addmod(mulmod(zs[0], hr[2], _pp), _pp - qx, _pp), _pp); + qy = addmod(qy, _pp - mulmod(zs[1], hr[3], _pp), _pp); + // qz = h*z1*z2 + uint256 qz = mulmod(hr[0], mulmod(_z1, _z2, _pp), _pp); + return (qx, qy, qz); + } + + /// @dev Doubles a points (x, y, z). + /// @param _x coordinate x of P1 + /// @param _y coordinate y of P1 + /// @param _z coordinate z of P1 + /// @param _aa the a scalar in the curve equation + /// @param _pp the modulus + /// @return (qx, qy, qz) 2P in Jacobian + function jacDouble(uint256 _x, uint256 _y, uint256 _z, uint256 _aa, uint256 _pp) + internal + pure + returns (uint256, uint256, uint256) + { + if (_z == 0) return (_x, _y, _z); + + // We follow the equations described in https://pdfs.semanticscholar.org/5c64/29952e08025a9649c2b0ba32518e9a7fb5c2.pdf Section 5 + // Note: there is a bug in the paper regarding the m parameter, M=3*(x1^2)+a*(z1^4) + // x, y, z at this point represent the squares of _x, _y, _z + uint256 x = mulmod(_x, _x, _pp); //x1^2 + uint256 y = mulmod(_y, _y, _pp); //y1^2 + uint256 z = mulmod(_z, _z, _pp); //z1^2 + + // s + uint256 s = mulmod(4, mulmod(_x, y, _pp), _pp); + // m + uint256 m = addmod(mulmod(3, x, _pp), mulmod(_aa, mulmod(z, z, _pp), _pp), _pp); + + // x, y, z at this point will be reassigned and rather represent qx, qy, qz from the paper + // This allows to reduce the gas cost and stack footprint of the algorithm + // qx + x = addmod(mulmod(m, m, _pp), _pp - addmod(s, s, _pp), _pp); + // qy = -8*y1^4 + M(S-T) + y = addmod(mulmod(m, addmod(s, _pp - x, _pp), _pp), _pp - mulmod(8, mulmod(y, y, _pp), _pp), _pp); + // qz = 2*y1*z1 + z = mulmod(2, mulmod(_y, _z, _pp), _pp); + + return (x, y, z); + } + + /// @dev Multiply point (x, y, z) times d. + /// @param _d scalar to multiply + /// @param _x coordinate x of P1 + /// @param _y coordinate y of P1 + /// @param _z coordinate z of P1 + /// @param _aa constant of curve + /// @param _pp the modulus + /// @return (qx, qy, qz) d*P1 in Jacobian + function jacMul(uint256 _d, uint256 _x, uint256 _y, uint256 _z, uint256 _aa, uint256 _pp) + internal + pure + returns (uint256, uint256, uint256) + { + // Early return in case that `_d == 0` + if (_d == 0) { + return (_x, _y, _z); + } + + uint256 remaining = _d; + uint256 qx = 0; + uint256 qy = 0; + uint256 qz = 1; + + // Double and add algorithm + while (remaining != 0) { + if ((remaining & 1) != 0) { + (qx, qy, qz) = jacAdd(qx, qy, qz, _x, _y, _z, _pp); + } + remaining = remaining / 2; + (_x, _y, _z) = jacDouble(_x, _y, _z, _aa, _pp); + } + return (qx, qy, qz); + } +} diff --git a/src/validator/stealthAddressValidator/StealthAddressValidator.sol b/src/validator/stealthAddressValidator/StealthAddressValidator.sol new file mode 100644 index 00000000..efca0763 --- /dev/null +++ b/src/validator/stealthAddressValidator/StealthAddressValidator.sol @@ -0,0 +1,182 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ECDSA} from "solady/utils/ECDSA.sol"; +import {EIP712} from "solady/utils/EIP712.sol"; +import {StealthAggreagteSignature} from "./StealthAggreagteSignature.sol"; +import {IKernelValidator} from "../../interfaces/IKernelValidator.sol"; +import {ValidationData} from "../../common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "../../common/Constants.sol"; + +/** + * @dev Storage structure for Stealth Address Registry Module. + * StealthPubkey, dhkey are used in aggregated signature. + * EphemeralPubkey is used to recover private key of stealth address. + */ +struct StealthAddressValidatorStorage { + uint256 stealthPubkey; + uint256 dhkey; + uint256 ephemeralPubkey; + address stealthAddress; + uint8 stealthPubkeyPrefix; + uint8 dhkeyPrefix; + uint8 ephemeralPrefix; +} + +/** + * @author Justin Zen - + * @title Stealth Address Validator for ZeroDev Kernel. + * @notice This validator uses the Stealth address to validate signatures. + */ +contract StealthAddressValidator is IKernelValidator, EIP712 { + /// @notice The type hash used for kernel user op validation + bytes32 constant USER_OP_TYPEHASH = + keccak256("AllowUserOp(address owner,address kernelWallet,bytes32 userOpHash)"); + /// @notice The type hash used for kernel signature validation + bytes32 constant SIGNATURE_TYPEHASH = + keccak256("KernelSignature(address owner,address kernelWallet,bytes32 hash)"); + + /// @notice Emitted when the stealth address of a kernel is changed. + event StealthAddressChanged( + address indexed kernel, address indexed oldStealthAddress, address indexed newStealthAddress + ); + + /* -------------------------------------------------------------------------- */ + /* Storage */ + /* -------------------------------------------------------------------------- */ + mapping(address => StealthAddressValidatorStorage) public stealthAddressValidatorStorage; + + /* -------------------------------------------------------------------------- */ + /* EIP-712 Methods */ + /* -------------------------------------------------------------------------- */ + + /// @dev Get the current name & version of the validator, used for the EIP-712 domain separator from Solady + function _domainNameAndVersion() internal pure override returns (string memory, string memory) { + return ("Kernel:StealthAddressValidator", "1.0.0"); + } + + /// @dev Tell to solady that the current name & version of the validator won't change, so no need to recompute the eip-712 domain separator + function _domainNameAndVersionMayChange() internal pure override returns (bool) { + return false; + } + + /// @dev Export the current domain seperator + function getDomainSeperator() public view returns (bytes32) { + return _domainSeparator(); + } + + /* -------------------------------------------------------------------------- */ + /* Kernel validator Methods */ + /* -------------------------------------------------------------------------- */ + + /// @dev Enable this validator for a given `kernel` (msg.sender) + function enable(bytes calldata _data) external payable override { + address stealthAddress = address(bytes20(_data[0:20])); + uint256 stealthAddressPubkey = uint256(bytes32(_data[20:52])); + uint256 stealthAddressDhkey = uint256(bytes32(_data[52:84])); + uint8 stealthAddressPubkeyPrefix = uint8(_data[84]); + uint8 stealthAddressDhkeyPrefix = uint8(_data[85]); + uint256 ephemeralPubkey = uint256(bytes32(_data[86:118])); + uint8 ephemeralPrefix = uint8(_data[118]); + + address oldStealthAddress = stealthAddressValidatorStorage[msg.sender].stealthAddress; + stealthAddressValidatorStorage[msg.sender] = StealthAddressValidatorStorage({ + stealthPubkey: stealthAddressPubkey, + dhkey: stealthAddressDhkey, + ephemeralPubkey: ephemeralPubkey, + stealthAddress: stealthAddress, + stealthPubkeyPrefix: stealthAddressPubkeyPrefix, + dhkeyPrefix: stealthAddressDhkeyPrefix, + ephemeralPrefix: ephemeralPrefix + }); + emit StealthAddressChanged(msg.sender, oldStealthAddress, stealthAddress); + } + + /// @dev Disable this validator for a given `kernel` (msg.sender) + function disable(bytes calldata) external payable override { + address stealthAddress; + delete stealthAddressValidatorStorage[msg.sender]; + emit StealthAddressChanged(msg.sender, stealthAddress, address(0)); + } + + /// @dev Validate a `_userOp` using a EIP-712 signature, signed by the owner of the kernel account who is the `_userOp` sender + function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) + external + payable + override + returns (ValidationData validationData) + { + bytes1 mode = _userOp.signature[0]; + StealthAddressValidatorStorage storage stealthData = stealthAddressValidatorStorage[_userOp.sender]; + address stealthAddress = stealthData.stealthAddress; + bytes32 typedDataHash = + _hashTypedData(keccak256(abi.encode(USER_OP_TYPEHASH, stealthAddress, _userOp.sender, _userOpHash))); + + // 0x00: signature from spending key + // 0x01: aggregated signature from owner and shared secret + if (mode == 0x00) { + return stealthAddress == ECDSA.recover(typedDataHash, _userOp.signature[1:]) + ? ValidationData.wrap(0) + : SIG_VALIDATION_FAILED; + } else if (mode == 0x01) { + return StealthAggreagteSignature.validateAggregatedSignature( + stealthData.stealthPubkey, + stealthData.dhkey, + stealthData.stealthPubkeyPrefix, + stealthData.dhkeyPrefix, + typedDataHash, + _userOp.signature[1:] + ) ? ValidationData.wrap(0) : SIG_VALIDATION_FAILED; + } else { + return SIG_VALIDATION_FAILED; + } + } + + /// @dev Validate a `_signature` of the `_hash` ofor the given `kernel` (msg.sender) + function validateSignature(bytes32 _hash, bytes calldata _signature) + external + view + override + returns (ValidationData validationData) + { + bytes1 mode = _signature[0]; + StealthAddressValidatorStorage storage stealthData = stealthAddressValidatorStorage[msg.sender]; + address stealthAddress = stealthData.stealthAddress; + bytes32 typedDataHash = + _hashTypedData(keccak256(abi.encode(SIGNATURE_TYPEHASH, stealthAddress, msg.sender, _hash))); + + // 0x00: signature from spending key + // 0x01: aggregated signature from owner and shared secret + if (mode == 0x00) { + return stealthAddress == ECDSA.recover(typedDataHash, _signature[1:]) + ? ValidationData.wrap(0) + : SIG_VALIDATION_FAILED; + } else if (mode == 0x01) { + return StealthAggreagteSignature.validateAggregatedSignature( + stealthData.stealthPubkey, + stealthData.dhkey, + stealthData.stealthPubkeyPrefix, + stealthData.dhkeyPrefix, + typedDataHash, + _signature[1:] + ) ? ValidationData.wrap(0) : SIG_VALIDATION_FAILED; + } else { + return SIG_VALIDATION_FAILED; + } + } + + /// @dev Check if the caller is a valid signer for this kernel account + function validCaller(address _caller, bytes calldata) external view override returns (bool) { + return stealthAddressValidatorStorage[msg.sender].stealthAddress == _caller; + } + + /* -------------------------------------------------------------------------- */ + /* Public view methods */ + /* -------------------------------------------------------------------------- */ + + /// @dev Get the owner of a given `kernel` + function getOwner(address _kernel) public view returns (address) { + return stealthAddressValidatorStorage[_kernel].stealthAddress; + } +} diff --git a/src/validator/stealthAddressValidator/StealthAggreagteSignature.sol b/src/validator/stealthAddressValidator/StealthAggreagteSignature.sol new file mode 100644 index 00000000..d184a5f7 --- /dev/null +++ b/src/validator/stealthAddressValidator/StealthAggreagteSignature.sol @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {EllipticCurve} from "./EllipticCurve.sol"; + +library StealthAggreagteSignature { + uint256 public constant GX = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798; + uint256 public constant GY = 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8; + uint256 public constant AA = 0; + uint256 public constant BB = 7; + uint256 public constant PP = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F; + uint256 public constant N = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141; + + function validateAggregatedSignature( + uint256 _pubkey, + uint256 _dhkey, + uint8 _pubkeyPrefix, + uint8 _dhkeyPrefix, + bytes32 _message, + bytes calldata _signature + ) external pure returns (bool) { + uint256 aggh2; + uint256 aggpb; + uint256 aggdh; + + uint256 sigr = uint256(bytes32(_signature[0:32])); + uint256 sigs = uint256(bytes32(_signature[32:64])); + uint256 sinv = EllipticCurve.invMod(sigs, N); + uint256 num_message = uint256(_message); + + assembly { + aggh2 := mulmod(mulmod(sinv, num_message, N), num_message, N) + aggpb := mulmod(mulmod(sinv, sigr, N), num_message, N) + aggdh := mulmod(mulmod(sinv, sigr, N), sigr, N) + } + (uint256 p1x, uint256 p1y) = EllipticCurve.ecMul(aggh2, GX, GY, AA, PP); + uint256 pubY = EllipticCurve.deriveY(_pubkeyPrefix, _pubkey, AA, BB, PP); + uint256 pubdhY = EllipticCurve.deriveY(_dhkeyPrefix, _dhkey, AA, BB, PP); + + (uint256 p2x, uint256 p2y) = EllipticCurve.ecMul(aggpb, _pubkey, pubY, AA, PP); + (uint256 p3x, uint256 p3y) = EllipticCurve.ecMul(aggdh, _dhkey, pubdhY, AA, PP); + (uint256 aggp1x, uint256 aggp1y) = EllipticCurve.ecAdd(p1x, p1y, p2x, p2y, AA, PP); + (uint256 aggpx,) = EllipticCurve.ecAdd(aggp1x, aggp1y, p3x, p3y, AA, PP); + + return aggpx % N == sigr; + } +} diff --git a/test/foundry/validator/StealthAddressValidator.t.sol b/test/foundry/validator/StealthAddressValidator.t.sol new file mode 100644 index 00000000..ed612038 --- /dev/null +++ b/test/foundry/validator/StealthAddressValidator.t.sol @@ -0,0 +1,311 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {FixedPointMathLib} from "solady/utils/FixedPointMathLib.sol"; +import "src/Kernel.sol"; +import {EllipticCurve} from "src/validator/stealthAddressValidator/EllipticCurve.sol"; +import {IKernel} from "src/interfaces/IKernel.sol"; +import {StealthAddressValidator} from "src/validator/stealthAddressValidator/StealthAddressValidator.sol"; +// test utils +import {KernelTestBase} from "../KernelTestBase.sol"; +import {TestExecutor} from "../mock/TestExecutor.sol"; +import {TestValidator} from "../mock/TestValidator.sol"; +import "forge-std/Vm.sol"; + +struct StealthAddressKey { + address stealthAddress; + uint256 stealthPub; + uint256 dhPub; + uint8 stealthPrefix; + uint8 dhPrefix; + uint256 ephemeralPub; + uint8 ephemeralPrefix; + uint256 hashSecret; + uint256 stealthPrivate; +} + +contract StealthAddressValidatorTest is KernelTestBase { + StealthAddressValidator private stealthAddressValidator; + VmSafe.Wallet private wallet; + VmSafe.Wallet private ephemeralWallet; + uint256 private stealthPrivateKey; + + function setUp() public { + _initialize(); + wallet = vm.createWallet(uint256(keccak256(bytes("owner")))); + ephemeralWallet = vm.createWallet(uint256(keccak256(bytes("ephemeral")))); + + StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); + owner = stealthAddressKey.stealthAddress; + ownerKey = stealthAddressKey.stealthPrivate; + stealthAddressValidator = new StealthAddressValidator(); + defaultValidator = stealthAddressValidator; + _setAddress(); + _setExecutionDetail(); + } + + function _setExecutionDetail() internal virtual override { + executionDetail.executor = address(new TestExecutor()); + executionSig = TestExecutor.doNothing.selector; + executionDetail.validator = new TestValidator(); + } + + function getEnableData() internal view virtual override returns (bytes memory) { + return ""; + } + + function getValidatorSignature(UserOperation memory) internal view virtual override returns (bytes memory) { + return ""; + } + + function getOwners() internal view override returns (address[] memory) { + address[] memory owners = new address[](1); + owners[0] = owner; + return owners; + } + + function getInitializeData() internal view override returns (bytes memory) { + StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); + return abi.encodeWithSelector( + KernelStorage.initialize.selector, + defaultValidator, + abi.encodePacked( + stealthAddressKey.stealthAddress, + stealthAddressKey.stealthPub, + stealthAddressKey.dhPub, + stealthAddressKey.stealthPrefix, + stealthAddressKey.dhPrefix, + stealthAddressKey.ephemeralPub, + stealthAddressKey.ephemeralPrefix + ) + ); + } + + function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { + StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); + return abi.encodePacked( + bytes4(0x00000000), bytes1(0x00), _generateUserOpSignature(entryPoint, op, stealthAddressKey.stealthPrivate) + ); + } + + function getWrongSignature(UserOperation memory op) internal view override returns (bytes memory) { + StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); + return abi.encodePacked( + bytes4(0x00000000), + bytes1(0x00), + _generateUserOpSignature(entryPoint, op, stealthAddressKey.stealthPrivate + 1) + ); + } + + function signHash(bytes32 _hash) internal view override returns (bytes memory) { + StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); + return _generateHashSignature(_hash, address(kernel), stealthAddressKey.stealthPrivate); + } + + function getWrongSignature(bytes32 _hash) internal view override returns (bytes memory) { + StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); + return _generateHashSignature(_hash, address(kernel), stealthAddressKey.stealthPrivate + 1); + } + + function test_default_validator_enable() external override { + StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); + + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(defaultValidator), + 0, + abi.encodeWithSelector( + StealthAddressValidator.enable.selector, + abi.encodePacked( + stealthAddressKey.stealthAddress, + stealthAddressKey.stealthPub, + stealthAddressKey.dhPub, + stealthAddressKey.stealthPrefix, + stealthAddressKey.dhPrefix, + stealthAddressKey.ephemeralPub, + stealthAddressKey.ephemeralPrefix + ) + ), + Operation.Call + ) + ); + performUserOperationWithSig(op); + address owner = stealthAddressValidator.getOwner(address(kernel)); + assertEq(owner, stealthAddressKey.stealthAddress, "owner should be stealthAddress"); + } + + function test_default_validator_disable() external override { + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(defaultValidator), + 0, + abi.encodeWithSelector(StealthAddressValidator.disable.selector, ""), + Operation.Call + ) + ); + performUserOperationWithSig(op); + address owner = stealthAddressValidator.getOwner(address(kernel)); + assertEq(owner, address(0), "owner should be 0"); + } + + function test_stealth_validate_userop_aggsig() external { + UserOperation memory userOp = UserOperation({ + sender: address(kernel), + nonce: 0, + initCode: bytes(""), + callData: bytes(""), + callGasLimit: 1, + verificationGasLimit: 1, + preVerificationGas: 1, + maxFeePerGas: 1, + maxPriorityFeePerGas: 1, + paymasterAndData: bytes(""), + signature: bytes("") + }); + bytes32 userOpHash = entryPoint.getUserOpHash(userOp); + + // Get the validator domain separator + bytes32 domainSeparator = stealthAddressValidator.getDomainSeperator(); + bytes32 typedMsgHash = keccak256( + abi.encodePacked( + "\x19\x01", domainSeparator, keccak256(abi.encode(USER_OP_TYPEHASH, owner, address(kernel), userOpHash)) + ) + ); + bytes memory aggregatedSignature = getAggregatedSignature(typedMsgHash, wallet); + userOp.signature = aggregatedSignature; + + (,, address result) = parseValidationData(defaultValidator.validateUserOp(userOp, userOpHash, 0)); + assertEq(result, address(0)); + } + + function test_stealth_validate_sig_aggsig() external { + bytes32 message = bytes32(uint256(0x102030405060708090a)); + + // Get the validator domain separator + bytes32 domainSeparator = stealthAddressValidator.getDomainSeperator(); + bytes32 typedMsgHash = keccak256( + abi.encodePacked( + "\x19\x01", domainSeparator, keccak256(abi.encode(SIGNATURE_TYPEHASH, owner, address(kernel), message)) + ) + ); + bytes memory aggregatedSignature = getAggregatedSignature(typedMsgHash, wallet); + + vm.prank(address(kernel)); + (,, address result) = parseValidationData(defaultValidator.validateSignature(message, aggregatedSignature)); + assertEq(result, address(0)); + } + + /* -------------------------------------------------------------------------- */ + /* Helper methods */ + /* -------------------------------------------------------------------------- */ + + /// @notice The type hash used for kernel user op validation + bytes32 constant USER_OP_TYPEHASH = keccak256("AllowUserOp(address owner,address kernelWallet,bytes32 userOpHash)"); + + /// @dev Generate the signature for a user op + function _generateUserOpSignature(IEntryPoint _entryPoint, UserOperation memory _op, uint256 _privateKey) + internal + view + returns (bytes memory) + { + // Get the kernel private key owner address + address owner = vm.addr(_privateKey); + + // Get the user op hash + bytes32 userOpHash = _entryPoint.getUserOpHash(_op); + // Get the validator domain separator + bytes32 domainSeparator = stealthAddressValidator.getDomainSeperator(); + bytes32 typedMsgHash = keccak256( + abi.encodePacked( + "\x19\x01", domainSeparator, keccak256(abi.encode(USER_OP_TYPEHASH, owner, _op.sender, userOpHash)) + ) + ); + (uint8 v, bytes32 r, bytes32 s) = vm.sign(_privateKey, typedMsgHash); + return abi.encodePacked(r, s, v); + } + + /// @notice The type hash used for kernel signature validation + bytes32 constant SIGNATURE_TYPEHASH = keccak256("KernelSignature(address owner,address kernelWallet,bytes32 hash)"); + + /// @dev Generate the signature for a given hash for a kernel account + function _generateHashSignature(bytes32 _hash, address _kernel, uint256 _privateKey) + internal + view + returns (bytes memory) + { + // Get the kernel private key owner address + address owner = vm.addr(_privateKey); + + // Get the validator domain separator + bytes32 domainSeparator = stealthAddressValidator.getDomainSeperator(); + bytes32 typedMsgHash = keccak256( + abi.encodePacked( + "\x19\x01", domainSeparator, keccak256(abi.encode(SIGNATURE_TYPEHASH, owner, _kernel, _hash)) + ) + ); + + (uint8 v, bytes32 r, bytes32 s) = vm.sign(_privateKey, typedMsgHash); + return abi.encodePacked(bytes1(0), r, s, v); + } + + /// @notice The parameter used in the elliptic curve + uint256 GX = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798; + uint256 GY = 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8; + uint256 AA = 0; + uint256 PP = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F; + uint256 N = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141; + + /// @dev Generate stealth address + function getStealthAddress(VmSafe.Wallet memory _ownerWallet, VmSafe.Wallet memory _ephemeralWallet) + public + view + returns (StealthAddressKey memory) + { + (uint256 ephemeralPub, uint256 ephemeralPrefix) = + (_ephemeralWallet.publicKeyX, _ephemeralWallet.publicKeyY % 2 + 2); + + (uint256 sharedSecretX, uint256 sharedSecretY) = + EllipticCurve.ecMul(_ephemeralWallet.privateKey, _ownerWallet.publicKeyX, _ownerWallet.publicKeyY, AA, PP); + uint256 hashSecret = uint256(keccak256(abi.encode(sharedSecretX, sharedSecretY))); + (uint256 pubX, uint256 pubY) = EllipticCurve.ecMul(hashSecret, GX, GY, AA, PP); + uint256 stealthPrivate = _ownerWallet.privateKey + hashSecret % N; + (uint256 stealthPubX, uint256 stealthPubY) = + EllipticCurve.ecAdd(_ownerWallet.publicKeyX, _ownerWallet.publicKeyY, pubX, pubY, AA, PP); + address stealthAddress = address(uint160(uint256(keccak256(abi.encode(stealthPubX, stealthPubY))))); + (uint256 dhkx, uint256 dhky) = + EllipticCurve.ecMul(hashSecret, _ownerWallet.publicKeyX, _ownerWallet.publicKeyY, AA, PP); + return StealthAddressKey( + stealthAddress, + stealthPubX, + dhkx, + uint8(stealthPubY % 2 + 2), + uint8(dhky % 2 + 2), + ephemeralPub, + uint8(ephemeralPrefix), + hashSecret, + stealthPrivate + ); + } + + function getAggregatedSignature(bytes32 _hash, Vm.Wallet memory _wallet) internal view returns (bytes memory) { + StealthAddressKey memory stelathAddressKey = getStealthAddress(_wallet, ephemeralWallet); + (, bytes32 r, bytes32 s) = vm.sign(_wallet.privateKey, _hash); + uint256 numR = uint256(r); + uint256 numS = uint256(s); + + // aggregatedSig = numS * (stelathAddressKey.hashSecret * numR + typedMsgHash) + bytes32 aggregatedSig = bytes32( + FixedPointMathLib.rawMulMod( + FixedPointMathLib.rawAddMod( + FixedPointMathLib.rawMulMod(stelathAddressKey.hashSecret, numR, N), uint256(_hash), N + ), + numS, + N + ) + ); + + return abi.encodePacked(bytes1(uint8(1)), r, aggregatedSig); + } +} From 27869263f429f40fb665cb82a3dd7e56b40a6b98 Mon Sep 17 00:00:00 2001 From: taek Date: Wed, 3 Jan 2024 03:36:32 +0900 Subject: [PATCH 22/51] Feat/event weighted ecdsa (#65) * script for old factory * script for stake updated * events for add/removing guardian * weighted ecdsa deployed on mumbai --- .../80001/run-1703085025.json | 34 ++++++ .../80001/run-1703085031.json | 66 +++++++++++ .../80001/run-latest.json | 44 +++---- .../11155111/run-1703050162.json | 77 +++++++++++++ .../11155111/run-1703050169.json | 107 ++++++++++++++++++ .../11155111/run-latest.json | 107 ++++++++++++++++++ .../421614/run-1703052149.json | 66 +++++++++++ .../421614/run-latest.json | 66 +++++++++++ scripts/StakeToFactory.s.sol | 5 +- scripts/deterministic/Factory_old.s.sol | 20 ++++ src/validator/WeightedECDSAValidator.sol | 7 ++ 11 files changed, 574 insertions(+), 25 deletions(-) create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-1703085025.json create mode 100644 broadcast/DeployRecovery.s.sol/80001/run-1703085031.json create mode 100644 broadcast/Factory_old.s.sol/11155111/run-1703050162.json create mode 100644 broadcast/Factory_old.s.sol/11155111/run-1703050169.json create mode 100644 broadcast/Factory_old.s.sol/11155111/run-latest.json create mode 100644 broadcast/StakeToFactory.s.sol/421614/run-1703052149.json create mode 100644 broadcast/StakeToFactory.s.sol/421614/run-latest.json create mode 100644 scripts/deterministic/Factory_old.s.sol diff --git a/broadcast/DeployRecovery.s.sol/80001/run-1703085025.json b/broadcast/DeployRecovery.s.sol/80001/run-1703085025.json new file mode 100644 index 00000000..8c1664e8 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-1703085025.json @@ -0,0 +1,34 @@ +{ + "transactions": [ + { + "hash": "0xe4b06c384681869beb6cf24e8c8fef9970c36ecdf137c2116df473cb78ff42d6", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xa7e3Bc66086Ae51b20e59b6C84666635A0d0A16C", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x20db13", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352602083015283820152466060820152306080820152209061010091825251611b26918261012683396080518261164c015260a0518261166f015260c051826116e1015260e051826117070152518161162b0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610d12578063333daf9214610cd55780633a871cdd14610c935780634f1169a814610c35578063666d05f414610bc55780638025aa49146109b357806384b0196e146108d257806388a019941461089d5780638fc925aa146107ba5780639469d1481461075357806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061149c565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164611113565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4611129565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561145b565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561149c565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156114df565b60ff199586166001179055611a49565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c164261151b565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342611113565b506024356001600160401b03811161013e576103629036906004016110e6565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b90369060040161117f565b909160243590811161013e576103b590369060040161117f565b9160443562ffffff93848216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7816040600020541615156113ed565b3360005260008752604060002054606090811c5b6001600160a01b03908116903382146104815781600052600190818b526040600020336000528b5260406000205460181c169133817fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b600080a3600052895260406000203360005289526000604081205561040b565b50508793949596893360005260008652600060408120556104a3858a14611243565b33600052600086526104ce336040600020906001600160601b0382549181199060601b169116179055565b60005b898110610531573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b6001600160a01b033381610546848e87611427565b61054f90611437565b16141561055b906112ba565b80610567838d86611427565b61057090611437565b16151561057c90611306565b85610588838987611427565b6105919061144b565b16151561059d90611349565b806105a9838d86611427565b6105b290611437565b16600052600180895260406000203360005289528660406000205416156105d89061138a565b8b6105e4848a88611427565b6105ed9061144b565b913360005260008b5283604060002054891c928a6040519561060e876111bf565b168552868d86019485526106229189611427565b61062b90611437565b166000528a526040600020336000528a52876040600020925116825491600160b81b63010000009003905160181b169168ffffffffffffffffff60b81b1617179055610678828c85611427565b61068190611437565b33600052600089526040600020906106ad91906001600160601b0382549181199060601b169116179055565b6106b8828886611427565b6106c19061144b565b336000526000895260406000209087825491818316906106e0916113d6565b169062ffffff1916179055876106f7838d86611427565b61070090611437565b9161070c848a88611427565b6107159061144b565b908860405192168252339316917f30036d69eb98f085d4223a6fa05b0b781e0719c7e52351de47b41c0971ae202291a361074e90611281565b6104d1565b3461013e57604036600319011261013e5761076c611129565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e576107e69036906004016110e6565b5050336000526000815261080562ffffff6040600020541615156113ed565b336000526000815260406000205460601c5b6001600160a01b039081169033821461088d5781600052600190818452604060002033600052845260406000205460181c169133817fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b600080a36000528252604060002033600052825260006040812055610817565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406108c46108bb611113565b60243590611a49565b825191825215156020820152f35b3461013e57600036600319011261013e576109536040516108f2816111bf565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b81830152610961604051610925816111bf565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e086019061113f565b90848203604086015261113f565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b82811061099c57505050500390f35b83518552869550938101939281019260010161098d565b3461013e57606036600319011261013e576109cc611129565b6044356001600160401b03811161013e576109eb9036906004016110e6565b9060018060a01b0383166000526000602052610a1562ffffff60406000205460181c16151561145b565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff835416600481101561012857610a52901561149c565b60005b604182048110610ab057505050610a6e60043583611a49565b9050610a7657005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c164261151b565b610afb60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610af3816111f0565b519020611629565b81604181020460411482151715610baf576001820190818311610baf5781604181020460411482151715610baf57610b48610b416041610b4e9402604186028789611528565b3691611540565b90611586565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610baa93610b9e600192156114df565b60ff1916179055611281565b610a55565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610bde611129565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610c50611113565b610c58611129565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610ccd60209160040161176f565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610d059036906004016110e6565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610d3f9036906004016110e6565b8193910160808482031261013e57833583811161013e5784019281601f8501121561013e57833593610d708561122c565b94610d7e604051968761120b565b808652848087019160051b8301019184831161013e578501905b8282106110c7575050508285013590811161013e5784019080601f8301121561013e578135610dc68161122c565b92610dd4604051948561120b565b818452848085019260051b82010192831161013e5784809101915b8383106110af5750505050610e06604085016111af565b926060809501359465ffffffffffff8616860361013e57610e2a8251845114611243565b336000526000845262ffffff918260406000205416611078573360005260008552610e6e336040600020906001600160601b0382549181199060601b169116179055565b60005b815181101561103957611034906001600160a01b03610e9e3382610e958588611290565b511614156112ba565b610eb581610eac8487611290565b51161515611306565b610ecc86610ec3848a611290565b51161515611349565b80610ed78386611290565b511660005260018089526040600020336000528952610efd87604060002054161561138a565b86610f08848a611290565b5116903360005260008a52604060002054871c9060405192610f29846111bf565b83528a830191825283610f3c8689611290565b51166000528a526040600020336000528a528760406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610fb581610f8c8487611290565b51163360005260008a526040600020906001600160601b0382549181199060601b169116179055565b85610fc08389611290565b5116336000526000895260406000209087610fdf8354928284166113d6565b169062ffffff1916179055610ff48285611290565b5116856110018389611290565b5116906040519182527f30036d69eb98f085d4223a6fa05b0b781e0719c7e52351de47b41c0971ae2022893393a3611281565b610e71565b3360009081528087526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908890610513565b60405162461bcd60e51b815260048101869052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b81906110ba846111af565b8152019101908490610def565b81356001600160a01b038116810361013e578152908501908501610d98565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061116b575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161114a565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176111da57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176111da57604052565b90601f801991011681019081106001600160401b038211176111da57604052565b6001600160401b0381116111da5760051b60200190565b1561124a57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610baf5760010190565b80518210156112a45760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b156112c157565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b1561130d57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561135057565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561139157565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610baf57565b156113f457565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156112a45760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561146257565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b156114a357565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156114e657565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610baf57565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116111da5760405191611569601f8201601f19166020018461120b565b82948184528183011161013e578281602093846000960137010152565b6020600091939293608060019384928390604080998151986115c6575b5050505afa51923d156115b857600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146116065760418251146115ef5750505090503888816115a3565b60609384830151901a9052015190523888816115a3565b91015160ff81901c601b019091526001600160ff1b0316606052503888816115a3565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416156116b6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611697565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61177881611437565b60a06117db61178a606085018561173d565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f8019910116810103608081018452018261120b565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611a3e576118208333611a49565b95909686845490600460ff831610156101285760ff82161580611a36575b156119ed5750505460301c65ffffffffffff166119e1578061014061186492019061173d565b9290916000975b604185048910806119d9575b156119b3576118bd60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610af3816111f0565b8960418102046041148a151715610baf5760018a0190818b11610baf5781604181020460411482151715610baf57610b48610b418c604180611903960291028a8a611528565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166119a65790600161198494939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff604060002054169061151b565b978689101561199d575b61199790611281565b9761186b565b6001975061198e565b5050509761199790611281565b5095945095505050506000146119d357600091600360ff19825416179055565b60019150565b508715611877565b50945050505050600190565b95509750505093509150600160ff851614908115611a2e575b5015611a2757600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b905038611a06565b50801561183e565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b8981168015611b0d5782895260038752898920818a528752898920888a52875260ff8a8a205416906002821015611af957908b92916001809214611ad0575b5050168752600185528787208688528552888888205460181c16611a72565b8a528752898920888a528752898920549093611af19162ffffff169061151b565b923880611ab1565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xe4b06c384681869beb6cf24e8c8fef9970c36ecdf137c2116df473cb78ff42d6" + ], + "returns": {}, + "timestamp": 1703085025, + "chain": 80001, + "multi": false, + "commit": "2b8939b" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-1703085031.json b/broadcast/DeployRecovery.s.sol/80001/run-1703085031.json new file mode 100644 index 00000000..cd4168a6 --- /dev/null +++ b/broadcast/DeployRecovery.s.sol/80001/run-1703085031.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0xe4b06c384681869beb6cf24e8c8fef9970c36ecdf137c2116df473cb78ff42d6", + "transactionType": "CREATE2", + "contractName": "WeightedECDSAValidator", + "contractAddress": "0xa7e3Bc66086Ae51b20e59b6C84666635A0d0A16C", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x20db13", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352602083015283820152466060820152306080820152209061010091825251611b26918261012683396080518261164c015260a0518261166f015260c051826116e1015260e051826117070152518161162b0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610d12578063333daf9214610cd55780633a871cdd14610c935780634f1169a814610c35578063666d05f414610bc55780638025aa49146109b357806384b0196e146108d257806388a019941461089d5780638fc925aa146107ba5780639469d1481461075357806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061149c565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164611113565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4611129565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561145b565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561149c565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156114df565b60ff199586166001179055611a49565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c164261151b565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342611113565b506024356001600160401b03811161013e576103629036906004016110e6565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b90369060040161117f565b909160243590811161013e576103b590369060040161117f565b9160443562ffffff93848216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7816040600020541615156113ed565b3360005260008752604060002054606090811c5b6001600160a01b03908116903382146104815781600052600190818b526040600020336000528b5260406000205460181c169133817fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b600080a3600052895260406000203360005289526000604081205561040b565b50508793949596893360005260008652600060408120556104a3858a14611243565b33600052600086526104ce336040600020906001600160601b0382549181199060601b169116179055565b60005b898110610531573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b6001600160a01b033381610546848e87611427565b61054f90611437565b16141561055b906112ba565b80610567838d86611427565b61057090611437565b16151561057c90611306565b85610588838987611427565b6105919061144b565b16151561059d90611349565b806105a9838d86611427565b6105b290611437565b16600052600180895260406000203360005289528660406000205416156105d89061138a565b8b6105e4848a88611427565b6105ed9061144b565b913360005260008b5283604060002054891c928a6040519561060e876111bf565b168552868d86019485526106229189611427565b61062b90611437565b166000528a526040600020336000528a52876040600020925116825491600160b81b63010000009003905160181b169168ffffffffffffffffff60b81b1617179055610678828c85611427565b61068190611437565b33600052600089526040600020906106ad91906001600160601b0382549181199060601b169116179055565b6106b8828886611427565b6106c19061144b565b336000526000895260406000209087825491818316906106e0916113d6565b169062ffffff1916179055876106f7838d86611427565b61070090611437565b9161070c848a88611427565b6107159061144b565b908860405192168252339316917f30036d69eb98f085d4223a6fa05b0b781e0719c7e52351de47b41c0971ae202291a361074e90611281565b6104d1565b3461013e57604036600319011261013e5761076c611129565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e576107e69036906004016110e6565b5050336000526000815261080562ffffff6040600020541615156113ed565b336000526000815260406000205460601c5b6001600160a01b039081169033821461088d5781600052600190818452604060002033600052845260406000205460181c169133817fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b600080a36000528252604060002033600052825260006040812055610817565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406108c46108bb611113565b60243590611a49565b825191825215156020820152f35b3461013e57600036600319011261013e576109536040516108f2816111bf565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b81830152610961604051610925816111bf565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e086019061113f565b90848203604086015261113f565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b82811061099c57505050500390f35b83518552869550938101939281019260010161098d565b3461013e57606036600319011261013e576109cc611129565b6044356001600160401b03811161013e576109eb9036906004016110e6565b9060018060a01b0383166000526000602052610a1562ffffff60406000205460181c16151561145b565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff835416600481101561012857610a52901561149c565b60005b604182048110610ab057505050610a6e60043583611a49565b9050610a7657005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c164261151b565b610afb60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610af3816111f0565b519020611629565b81604181020460411482151715610baf576001820190818311610baf5781604181020460411482151715610baf57610b48610b416041610b4e9402604186028789611528565b3691611540565b90611586565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610baa93610b9e600192156114df565b60ff1916179055611281565b610a55565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610bde611129565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610c50611113565b610c58611129565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610ccd60209160040161176f565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610d059036906004016110e6565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610d3f9036906004016110e6565b8193910160808482031261013e57833583811161013e5784019281601f8501121561013e57833593610d708561122c565b94610d7e604051968761120b565b808652848087019160051b8301019184831161013e578501905b8282106110c7575050508285013590811161013e5784019080601f8301121561013e578135610dc68161122c565b92610dd4604051948561120b565b818452848085019260051b82010192831161013e5784809101915b8383106110af5750505050610e06604085016111af565b926060809501359465ffffffffffff8616860361013e57610e2a8251845114611243565b336000526000845262ffffff918260406000205416611078573360005260008552610e6e336040600020906001600160601b0382549181199060601b169116179055565b60005b815181101561103957611034906001600160a01b03610e9e3382610e958588611290565b511614156112ba565b610eb581610eac8487611290565b51161515611306565b610ecc86610ec3848a611290565b51161515611349565b80610ed78386611290565b511660005260018089526040600020336000528952610efd87604060002054161561138a565b86610f08848a611290565b5116903360005260008a52604060002054871c9060405192610f29846111bf565b83528a830191825283610f3c8689611290565b51166000528a526040600020336000528a528760406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610fb581610f8c8487611290565b51163360005260008a526040600020906001600160601b0382549181199060601b169116179055565b85610fc08389611290565b5116336000526000895260406000209087610fdf8354928284166113d6565b169062ffffff1916179055610ff48285611290565b5116856110018389611290565b5116906040519182527f30036d69eb98f085d4223a6fa05b0b781e0719c7e52351de47b41c0971ae2022893393a3611281565b610e71565b3360009081528087526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908890610513565b60405162461bcd60e51b815260048101869052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b81906110ba846111af565b8152019101908490610def565b81356001600160a01b038116810361013e578152908501908501610d98565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061116b575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161114a565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176111da57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176111da57604052565b90601f801991011681019081106001600160401b038211176111da57604052565b6001600160401b0381116111da5760051b60200190565b1561124a57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610baf5760010190565b80518210156112a45760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b156112c157565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b1561130d57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561135057565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561139157565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610baf57565b156113f457565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156112a45760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561146257565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b156114a357565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156114e657565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610baf57565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116111da5760405191611569601f8201601f19166020018461120b565b82948184528183011161013e578281602093846000960137010152565b6020600091939293608060019384928390604080998151986115c6575b5050505afa51923d156115b857600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146116065760418251146115ef5750505090503888816115a3565b60609384830151901a9052015190523888816115a3565b91015160ff81901c601b019091526001600160ff1b0316606052503888816115a3565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416156116b6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611697565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61177881611437565b60a06117db61178a606085018561173d565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f8019910116810103608081018452018261120b565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611a3e576118208333611a49565b95909686845490600460ff831610156101285760ff82161580611a36575b156119ed5750505460301c65ffffffffffff166119e1578061014061186492019061173d565b9290916000975b604185048910806119d9575b156119b3576118bd60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610af3816111f0565b8960418102046041148a151715610baf5760018a0190818b11610baf5781604181020460411482151715610baf57610b48610b418c604180611903960291028a8a611528565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166119a65790600161198494939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff604060002054169061151b565b978689101561199d575b61199790611281565b9761186b565b6001975061198e565b5050509761199790611281565b5095945095505050506000146119d357600091600360ff19825416179055565b60019150565b508715611877565b50945050505050600190565b95509750505093509150600160ff851614908115611a2e575b5015611a2757600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b905038611a06565b50801561183e565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b8981168015611b0d5782895260038752898920818a528752898920888a52875260ff8a8a205416906002821015611af957908b92916001809214611ad0575b5050168752600185528787208688528552888888205460181c16611a72565b8a528752898920888a528752898920549093611af19162ffffff169061151b565b923880611ab1565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11f", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xe4b06c384681869beb6cf24e8c8fef9970c36ecdf137c2116df473cb78ff42d6", + "transactionIndex": "0x8", + "blockHash": "0xb45bbed246469d54368a63312324bd2389fb0a6827bbed604757f4dd8fb741f6", + "blockNumber": "0x29c56e8", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x262984", + "gasUsed": "0x17cb3e", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x00000000000000000000000000000000000000000000000000083fd100b75432000000000000000000000000000000000000000000000000176f3ba7e58d6f3f00000000000000000000000000000000000000000000048851c44fbc2ef369d50000000000000000000000000000000000000000000000001766fbd6e4d61b0d00000000000000000000000000000000000000000000048851cc8f8d2faabe07", + "blockHash": "0xb45bbed246469d54368a63312324bd2389fb0a6827bbed604757f4dd8fb741f6", + "blockNumber": "0x29c56e8", + "transactionHash": "0xe4b06c384681869beb6cf24e8c8fef9970c36ecdf137c2116df473cb78ff42d6", + "transactionIndex": "0x8", + "logIndex": "0x11", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x58c12557" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1703085031, + "chain": 80001, + "multi": false, + "commit": "2b8939b" +} \ No newline at end of file diff --git a/broadcast/DeployRecovery.s.sol/80001/run-latest.json b/broadcast/DeployRecovery.s.sol/80001/run-latest.json index 8737c537..cd4168a6 100644 --- a/broadcast/DeployRecovery.s.sol/80001/run-latest.json +++ b/broadcast/DeployRecovery.s.sol/80001/run-latest.json @@ -1,20 +1,20 @@ { "transactions": [ { - "hash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", + "hash": "0xe4b06c384681869beb6cf24e8c8fef9970c36ecdf137c2116df473cb78ff42d6", "transactionType": "CREATE2", "contractName": "WeightedECDSAValidator", - "contractAddress": "0xA60dA4E29A27F9510AC37faE3706EaEb1d55e8d6", + "contractAddress": "0xa7e3Bc66086Ae51b20e59b6C84666635A0d0A16C", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x215430", + "gas": "0x20db13", "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152838201524660608201523060808201522090610100918252516119f8918261012683396080518261151e015260a05182611541015260c051826115b3015260e051826115d9015251816114fd0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610c3c578063333daf9214610bff5780633a871cdd14610bbd5780634f1169a814610b5f578063666d05f414610aef5780638025aa49146108dd57806384b0196e146107fc57806388a01994146107c75780638fc925aa1461070b5780639469d148146106a457806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061136e565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164610fe5565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4610ffb565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561132d565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561136e565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156113b1565b60ff19958616600117905561191b565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c16426113ed565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342610fe5565b506024356001600160401b03811161013e57610362903690600401610fb8565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b903690600401611051565b9160243590811161013e576103b4903690600401611051565b60449291923562ffffff808216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7826040600020541615156112bf565b336000526000875260406000205494606095861c5b6001600160a01b039081169033821461045b5781600052600190818b526040600020336000528b5260406000205460181c1691600052895260406000203360005289526000604081205561040c565b505087939495968933600052600086526000604081205561047d838214611115565b33600052600086526104a8336040600020906001600160601b0382549181199060601b169116179055565b60005b81811061050b573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b61069f906001600160a01b03610537338261052f61052a86898b6112f9565b611309565b16141561118c565b6105518161054961052a85888a6112f9565b1615156111d8565b61057088610568610563858a8c6112f9565b61131d565b16151561121b565b8061057f61052a8487896112f9565b16600052600190818a526040600020336000528a526105a589604060002054161561125c565b6105b361056384898b6112f9565b913360005260008b528d604060002054901c918a604051946105d486611091565b1684528b84019283526105eb61052a86898b6112f9565b166000528a526040600020336000528a528860406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b161717905561066461063d61052a8386886112f9565b3360005260008a526040600020906001600160601b0382549181199060601b169116179055565b6106726105638287896112f9565b33600052600089526040600020908861068f8354928284166112a8565b169062ffffff1916179055611153565b6104ab565b3461013e57604036600319011261013e576106bd610ffb565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e57610737903690600401610fb8565b5050336000526000815261075662ffffff6040600020541615156112bf565b336000526000815260406000205460601c5b6001600160a01b03908116903382146107b75781600052600190818452604060002033600052845260406000205460181c16916000528252604060002033600052825260006040812055610768565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406107ee6107e5610fe5565b6024359061191b565b825191825215156020820152f35b3461013e57600036600319011261013e5761087d60405161081c81611091565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b8183015261088b60405161084f81611091565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e0860190611011565b908482036040860152611011565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b8281106108c657505050500390f35b8351855286955093810193928101926001016108b7565b3461013e57606036600319011261013e576108f6610ffb565b6044356001600160401b03811161013e57610915903690600401610fb8565b9060018060a01b038316600052600060205261093f62ffffff60406000205460181c16151561132d565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff83541660048110156101285761097c901561136e565b60005b6041820481106109da575050506109986004358361191b565b90506109a057005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c16426113ed565b610a2560405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610a1d816110c2565b5190206114fb565b81604181020460411482151715610ad9576001820190818311610ad95781604181020460411482151715610ad957610a72610a6b6041610a7894026041860287896113fa565b3691611412565b90611458565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610ad493610ac8600192156113b1565b60ff1916179055611153565b61097f565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610b08610ffb565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610b7a610fe5565b610b82610ffb565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610bf7602091600401611641565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610c2f903690600401610fb8565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610c69903690600401610fb8565b810160808282031261013e57813583811161013e5782019281601f8501121561013e57833593610c98856110fe565b94610ca660405196876110dd565b808652868087019160051b8301019184831161013e578701905b828210610f99575050508483013590811161013e5782019080601f8301121561013e57813591610cef836110fe565b92610cfd60405194856110dd565b808452868085019160051b83010192831161013e5786809201905b838210610f825750505050610d2f60408301611081565b916060809101359365ffffffffffff8516850361013e57610d538151845114611115565b336000526000865262ffffff938460406000205416610f4b573360005260008752610d97336040600020906001600160601b0382549181199060601b169116179055565b60005b8251811015610f0c57610f0790610edd6001600160a01b03610dca3382610dc1868a611162565b5116141561118c565b610de181610dd88589611162565b511615156111d8565b610df889610def858b611162565b5116151561121b565b80610e038488611162565b51166000526001808c526040600020336000528c52610e298a604060002054161561125c565b89610e34858b611162565b5116903360005260008d52604060002054891c9060405192610e5584611091565b83528d830191825283610e68878b611162565b51166000528d526040600020336000528d528a60406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610eb48387611162565b51163360005260008b526040600020906001600160601b0382549181199060601b169116179055565b86610ee88288611162565b51163360005260008a526040600020908861068f8354928284166112a8565b610d9a565b3360009081528089526040902080546bffffffffffff0000000000001916603089901b6bffffffffffff000000000000161781556102eb9083906104ed565b60405162461bcd60e51b815260048101889052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b828091610f8e84611081565b815201910190610d18565b81356001600160a01b038116810361013e578152908701908701610cc0565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061103d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161101c565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176110ac57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176110ac57604052565b90601f801991011681019081106001600160401b038211176110ac57604052565b6001600160401b0381116110ac5760051b60200190565b1561111c57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610ad95760010190565b80518210156111765760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b1561119357565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b156111df57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561122257565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561126357565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610ad957565b156112c657565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156111765760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561133457565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b1561137557565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156113b857565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610ad957565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116110ac576040519161143b601f8201601f1916602001846110dd565b82948184528183011161013e578281602093846000960137010152565b602060009193929360806001938492839060408099815198611498575b5050505afa51923d1561148a57600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146114d85760418251146114c1575050509050388881611475565b60609384830151901a905201519052388881611475565b91015160ff81901c601b019091526001600160ff1b031660605250388881611475565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611588575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611569565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61164a81611309565b60a06116ad61165c606085018561160f565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f801991011681010360808101845201826110dd565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611910576116f2833361191b565b95909686845490600460ff831610156101285760ff82161580611908575b156118bf5750505460301c65ffffffffffff166118b3578061014061173692019061160f565b9290916000975b604185048910806118ab575b156118855761178f60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610a1d816110c2565b8960418102046041148a151715610ad95760018a0190818b11610ad95781604181020460411482151715610ad957610a72610a6b8c6041806117d5960291028a8a6113fa565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166118785790600161185694939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff60406000205416906113ed565b978689101561186f575b61186990611153565b9761173d565b60019750611860565b5050509761186990611153565b5095945095505050506000146118a557600091600360ff19825416179055565b60019150565b508715611749565b50945050505050600190565b95509750505093509150600160ff851614908115611900575b50156118f957600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b9050386118d8565b508015611710565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b89811680156119df5782895260038752898920818a528752898920888a52875260ff8a8a2054169060028210156119cb57908b929160018092146119a2575b5050168752600185528787208688528552888888205460181c16611944565b8a528752898920888a5287528989205490936119c39162ffffff16906113ed565b923880611983565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", - "nonce": "0x11e", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101203461012057306080524660a0526040906001600160401b03908083018281118282101761010a57835260168152602081017f5765696768746564454344534156616c696461746f72000000000000000000008152835190848201938285109085111761010a57602060059260a0958752838152019264302e302e3160d81b845251902091208160c0528060e0528351917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8352602083015283820152466060820152306080820152209061010091825251611b26918261012683396080518261164c015260a0518261166f015260c051826116e1015260e051826117070152518161162b0152f35b634e487b7160e01b600052604160045260246000fd5b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630c95955614610d12578063333daf9214610cd55780633a871cdd14610c935780634f1169a814610c35578063666d05f414610bc55780638025aa49146109b357806384b0196e146108d257806388a019941461089d5780638fc925aa146107ba5780639469d1481461075357806398c867ca1461036f5780639ea9bd5914610329578063b2e2c99b146101a8578063e6f68b9f146101435763fb6f93f9146100c157600080fd5b3461013e57602036600319011261013e5760043560005260026020526040600020336000526020526040600020805460ff811690600482101561012857610114826002931590811561011d575b5061149c565b60ff1916179055005b60019150143861010e565b634e487b7160e01b600052602160045260246000fd5b600080fd5b3461013e57602036600319011261013e576001600160a01b03610164611113565b166000526000602052608060406000205462ffffff906040519180821683528160181c16602083015265ffffffffffff8160301c16604083015260601c6060820152f35b3461013e57604036600319011261013e576004356101c4611129565b90336000526020916001835260406000209260018060a01b0382169384600052815262ffffff8060406000205416156102ed5761021490856000526000835260406000205460181c16151561145b565b8260005260028152604060002084600052815260406000209260ff845416600481101561012857610245901561149c565b80600052600382526040600020336000528252604060002085600052825260406000209081549360ff85169260028410156101285761028761029794156114df565b60ff199586166001179055611a49565b905061029f57005b6102eb93600160009385541617845582525265ffffffffffff6102cc8160406000205460301c164261151b565b825466ffffffffffff001916911660081b66ffffffffffff0016179055565b005b60405162461bcd60e51b815260048101839052601460248201527311dd585c991a585b881b9bdd08195b98589b195960621b6044820152606490fd5b3461013e57604036600319011261013e57610342611113565b506024356001600160401b03811161013e576103629036906004016110e6565b5050602060405160008152f35b608036600319011261013e576001600160401b0360043581811161013e5761039b90369060040161117f565b909160243590811161013e576103b590369060040161117f565b9160443562ffffff93848216820361013e576064359065ffffffffffff8216820361013e5733600052602095600087526103f7816040600020541615156113ed565b3360005260008752604060002054606090811c5b6001600160a01b03908116903382146104815781600052600190818b526040600020336000528b5260406000205460181c169133817fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b600080a3600052895260406000203360005289526000604081205561040b565b50508793949596893360005260008652600060408120556104a3858a14611243565b33600052600086526104ce336040600020906001600160601b0382549181199060601b169116179055565b60005b898110610531573360009081528088526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908a905b9065ffffff00000082549160181b169065ffffff0000001916179055565b6001600160a01b033381610546848e87611427565b61054f90611437565b16141561055b906112ba565b80610567838d86611427565b61057090611437565b16151561057c90611306565b85610588838987611427565b6105919061144b565b16151561059d90611349565b806105a9838d86611427565b6105b290611437565b16600052600180895260406000203360005289528660406000205416156105d89061138a565b8b6105e4848a88611427565b6105ed9061144b565b913360005260008b5283604060002054891c928a6040519561060e876111bf565b168552868d86019485526106229189611427565b61062b90611437565b166000528a526040600020336000528a52876040600020925116825491600160b81b63010000009003905160181b169168ffffffffffffffffff60b81b1617179055610678828c85611427565b61068190611437565b33600052600089526040600020906106ad91906001600160601b0382549181199060601b169116179055565b6106b8828886611427565b6106c19061144b565b336000526000895260406000209087825491818316906106e0916113d6565b169062ffffff1916179055876106f7838d86611427565b61070090611437565b9161070c848a88611427565b6107159061144b565b908860405192168252339316917f30036d69eb98f085d4223a6fa05b0b781e0719c7e52351de47b41c0971ae202291a361074e90611281565b6104d1565b3461013e57604036600319011261013e5761076c611129565b600435600052600260205260406000209060018060a01b031660005260205260406000205460ff81166040519060048110156101285760409265ffffffffffff91835260081c166020820152f35b60208060031936011261013e576004356001600160401b03811161013e576107e69036906004016110e6565b5050336000526000815261080562ffffff6040600020541615156113ed565b336000526000815260406000205460601c5b6001600160a01b039081169033821461088d5781600052600190818452604060002033600052845260406000205460181c169133817fee943cdb81826d5909c559c6b1ae6908fcaf2dbc16c4b730346736b486283e8b600080a36000528252604060002033600052825260006040812055610817565b3360009081528084526040812055005b3461013e57604036600319011261013e5760406108c46108bb611113565b60243590611a49565b825191825215156020820152f35b3461013e57600036600319011261013e576109536040516108f2816111bf565b601681526020752bb2b4b3b43a32b222a1a229a0ab30b634b230ba37b960511b81830152610961604051610925816111bf565b6005815264302e302e3160d81b83820152604051948594600f60f81b865260e08587015260e086019061113f565b90848203604086015261113f565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b82811061099c57505050500390f35b83518552869550938101939281019260010161098d565b3461013e57606036600319011261013e576109cc611129565b6044356001600160401b03811161013e576109eb9036906004016110e6565b9060018060a01b0383166000526000602052610a1562ffffff60406000205460181c16151561145b565b6004356000526002602052604060002060018060a01b03841660005260205260406000209160ff835416600481101561012857610a52901561149c565b60005b604182048110610ab057505050610a6e60043583611a49565b9050610a7657005b6102eb91600160ff1983541617825560018060a01b0316600052600060205265ffffffffffff6102cc8160406000205460301c164261151b565b610afb60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd8252600435604082015260408152610af3816111f0565b519020611629565b81604181020460411482151715610baf576001820190818311610baf5781604181020460411482151715610baf57610b48610b416041610b4e9402604186028789611528565b3691611540565b90611586565b60043560009081526003602090815260408083206001600160a01b03948516845282528083209389168352929052208054919060ff8316600281101561012857610baa93610b9e600192156114df565b60ff1916179055611281565b610a55565b634e487b7160e01b600052601160045260246000fd5b3461013e57606036600319011261013e57610bde611129565b6044356001600160a01b03818116929183900361013e5760043560005260036020526040600020911660005260205260406000209060005260205260ff604060002054166040516002821015610128576020918152f35b3461013e57604036600319011261013e576040610c50611113565b610c58611129565b60018060a01b0380921660005260016020528183600020911660005260205281600020549082519162ffffff8116835260181c166020820152f35b60031960603682011261013e57600435906001600160401b03821161013e5761016090823603011261013e57610ccd60209160040161176f565b604051908152f35b3461013e57604036600319011261013e576024356001600160401b03811161013e57610d059036906004016110e6565b5050602060405160018152f35b60208060031936011261013e576001600160401b0360043581811161013e57610d3f9036906004016110e6565b8193910160808482031261013e57833583811161013e5784019281601f8501121561013e57833593610d708561122c565b94610d7e604051968761120b565b808652848087019160051b8301019184831161013e578501905b8282106110c7575050508285013590811161013e5784019080601f8301121561013e578135610dc68161122c565b92610dd4604051948561120b565b818452848085019260051b82010192831161013e5784809101915b8383106110af5750505050610e06604085016111af565b926060809501359465ffffffffffff8616860361013e57610e2a8251845114611243565b336000526000845262ffffff918260406000205416611078573360005260008552610e6e336040600020906001600160601b0382549181199060601b169116179055565b60005b815181101561103957611034906001600160a01b03610e9e3382610e958588611290565b511614156112ba565b610eb581610eac8487611290565b51161515611306565b610ecc86610ec3848a611290565b51161515611349565b80610ed78386611290565b511660005260018089526040600020336000528952610efd87604060002054161561138a565b86610f08848a611290565b5116903360005260008a52604060002054871c9060405192610f29846111bf565b83528a830191825283610f3c8689611290565b51166000528a526040600020336000528a528760406000209251168254916301000000600160b81b03905160181b169168ffffffffffffffffff60b81b1617179055610fb581610f8c8487611290565b51163360005260008a526040600020906001600160601b0382549181199060601b169116179055565b85610fc08389611290565b5116336000526000895260406000209087610fdf8354928284166113d6565b169062ffffff1916179055610ff48285611290565b5116856110018389611290565b5116906040519182527f30036d69eb98f085d4223a6fa05b0b781e0719c7e52351de47b41c0971ae2022893393a3611281565b610e71565b3360009081528087526040902080546bffffffffffff000000000000191660308a901b6bffffffffffff000000000000161781556102eb908890610513565b60405162461bcd60e51b815260048101869052600f60248201526e105b1c9958591e48195b98589b1959608a1b6044820152606490fd5b81906110ba846111af565b8152019101908490610def565b81356001600160a01b038116810361013e578152908501908501610d98565b9181601f8401121561013e578235916001600160401b03831161013e576020838186019501011161013e57565b600435906001600160a01b038216820361013e57565b602435906001600160a01b038216820361013e57565b919082519283825260005b84811061116b575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161114a565b9181601f8401121561013e578235916001600160401b03831161013e576020808501948460051b01011161013e57565b359062ffffff8216820361013e57565b604081019081106001600160401b038211176111da57604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176111da57604052565b90601f801991011681019081106001600160401b038211176111da57604052565b6001600160401b0381116111da5760051b60200190565b1561124a57565b60405162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b6044820152606490fd5b6000198114610baf5760010190565b80518210156112a45760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b156112c157565b60405162461bcd60e51b815260206004820152601760248201527f477561726469616e2063616e6e6f742062652073656c660000000000000000006044820152606490fd5b1561130d57565b60405162461bcd60e51b81526020600482015260146024820152730477561726469616e2063616e6e6f7420626520360641b6044820152606490fd5b1561135057565b60405162461bcd60e51b815260206004820152601260248201527105765696768742063616e6e6f7420626520360741b6044820152606490fd5b1561139157565b60405162461bcd60e51b815260206004820152601860248201527f477561726469616e20616c726561647920656e61626c656400000000000000006044820152606490fd5b91909162ffffff80809416911601918211610baf57565b156113f457565b60405162461bcd60e51b815260206004820152600b60248201526a139bdd08195b98589b195960aa1b6044820152606490fd5b91908110156112a45760051b0190565b356001600160a01b038116810361013e5790565b3562ffffff8116810361013e5790565b1561146257565b60405162461bcd60e51b815260206004820152601260248201527112d95c9b995b081b9bdd08195b98589b195960721b6044820152606490fd5b156114a357565b60405162461bcd60e51b815260206004820152601460248201527350726f706f73616c206e6f74206f6e676f696e6760601b6044820152606490fd5b156114e657565b60405162461bcd60e51b815260206004820152600d60248201526c105b1c9958591e481d9bdd1959609a1b6044820152606490fd5b91908201809211610baf57565b9093929384831161013e57841161013e578101920390565b9291926001600160401b0382116111da5760405191611569601f8201601f19166020018461120b565b82948184528183011161013e578281602093846000960137010152565b6020600091939293608060019384928390604080998151986115c6575b5050505afa51923d156115b857600060605252565b638baa579f6000526004601cfd5b8492835287808201518352828251146116065760418251146115ef5750505090503888816115a3565b60609384830151901a9052015190523888816115a3565b91015160ff81901c601b019091526001600160ff1b0316606052503888816115a3565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416156116b6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611697565b903590601e198136030182121561013e57018035906001600160401b03821161013e5760200191813603831361013e57565b61177881611437565b60a06117db61178a606085018561173d565b9290836040519485926020840197600180871b031688526060604085015281608085015284840137600083828401015260208701356060830152601f8019910116810103608081018452018261120b565b51902091826000526002602052604060002033600052602052604060002092600060205260406000209362ffffff855460181c16928315611a3e576118208333611a49565b95909686845490600460ff831610156101285760ff82161580611a36575b156119ed5750505460301c65ffffffffffff166119e1578061014061186492019061173d565b9290916000975b604185048910806119d9575b156119b3576118bd60405160208101907f067fee5d1749b3f616375b51aab37cde80fb2cfe2f38b20d4a277ec1cbc21acd825288604082015260408152610af3816111f0565b8960418102046041148a151715610baf5760018a0190818b11610baf5781604181020460411482151715610baf57610b48610b418c604180611903960291028a8a611528565b866000526003602052604060002060018060a01b03821660005260205260406000203360005260205260406000208054600260ff821610156101285760ff81166119a65790600161198494939260ff191617905560018060a01b0316600052600160205260406000203360005260205262ffffff604060002054169061151b565b978689101561199d575b61199790611281565b9761186b565b6001975061198e565b5050509761199790611281565b5095945095505050506000146119d357600091600360ff19825416179055565b60019150565b508715611877565b50945050505050600190565b95509750505093509150600160ff851614908115611a2e575b5015611a2757600365ffffffffffff60d01b8460c81b169360ff1916179055565b5060019150565b905038611a06565b50801561183e565b945050505050600190565b919060009160009160018060a01b038095169182845260209184835260409586862054918260601c5b8981168015611b0d5782895260038752898920818a528752898920888a52875260ff8a8a205416906002821015611af957908b92916001809214611ad0575b5050168752600185528787208688528552888888205460181c16611a72565b8a528752898920888a528752898920549093611af19162ffffff169061151b565b923880611ab1565b634e487b7160e01b8a52602160045260248afd5b50919850505060181c62ffffff1686101594509250505056", + "nonce": "0x11f", "accessList": [] }, "additionalContracts": [], @@ -23,14 +23,14 @@ ], "receipts": [ { - "transactionHash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", - "transactionIndex": "0x5", - "blockHash": "0x734d8bba4a9e7fba7a4a825748bdec24bf1720f432290436a4fd6fd7392d1726", - "blockNumber": "0x29822de", + "transactionHash": "0xe4b06c384681869beb6cf24e8c8fef9970c36ecdf137c2116df473cb78ff42d6", + "transactionIndex": "0x8", + "blockHash": "0xb45bbed246469d54368a63312324bd2389fb0a6827bbed604757f4dd8fb741f6", + "blockNumber": "0x29c56e8", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x2a1daf", - "gasUsed": "0x16cbac", + "cumulativeGasUsed": "0x262984", + "gasUsed": "0x17cb3e", "contractAddress": null, "logs": [ { @@ -39,28 +39,28 @@ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", - "0x000000000000000000000000cfef2a3dc244ef7d0fb93c45e762d671445c4569" + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" ], - "data": "0x000000000000000000000000000000000000000000000000001fdeeb9f1d1d84000000000000000000000000000000000000000000000000178f1a93867276330000000000000000000000000000000000000000000000ecd6b8053a7c926617000000000000000000000000000000000000000000000000176f3ba7e75558af0000000000000000000000000000000000000000000000ecd6d7e4261baf839b", - "blockHash": "0x734d8bba4a9e7fba7a4a825748bdec24bf1720f432290436a4fd6fd7392d1726", - "blockNumber": "0x29822de", - "transactionHash": "0x8055dd891a34a1f9dd36ceeb42af9aa40e274caa2a7480bd8a815bcaf95795d5", - "transactionIndex": "0x5", - "logIndex": "0x20", + "data": "0x00000000000000000000000000000000000000000000000000083fd100b75432000000000000000000000000000000000000000000000000176f3ba7e58d6f3f00000000000000000000000000000000000000000000048851c44fbc2ef369d50000000000000000000000000000000000000000000000001766fbd6e4d61b0d00000000000000000000000000000000000000000000048851cc8f8d2faabe07", + "blockHash": "0xb45bbed246469d54368a63312324bd2389fb0a6827bbed604757f4dd8fb741f6", + "blockNumber": "0x29c56e8", + "transactionHash": "0xe4b06c384681869beb6cf24e8c8fef9970c36ecdf137c2116df473cb78ff42d6", + "transactionIndex": "0x8", + "logIndex": "0x11", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000020100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000040000100000", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", "type": "0x2", - "effectiveGasPrice": "0x165eaa3f7" + "effectiveGasPrice": "0x58c12557" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702477294, + "timestamp": 1703085031, "chain": 80001, "multi": false, - "commit": "62c67a2" + "commit": "2b8939b" } \ No newline at end of file diff --git a/broadcast/Factory_old.s.sol/11155111/run-1703050162.json b/broadcast/Factory_old.s.sol/11155111/run-1703050162.json new file mode 100644 index 00000000..a811b409 --- /dev/null +++ b/broadcast/Factory_old.s.sol/11155111/run-1703050162.json @@ -0,0 +1,77 @@ +{ + "transactions": [ + { + "hash": "0x272e2e88bbc5a2593bf7a2ba350adb225c086d56c8885d54da22bb2757f2a5ef", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x7a0d94f55792c434d74a40883c6ed8545e406d12", + "gas": "0x5cbf01", + "value": "0x0", + "data": "0x60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x5D006d3880645ec6e254E18C1F879DAC9Dd71A39", + "initCode": "0x60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + }, + { + "transactionType": "CREATE", + "address": "0xcc9B83cc9aF4a79663EC9E326c67B0Fd27Afd7f7", + "initCode": "0x61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + }, + { + "transactionType": "CREATE", + "address": "0xC69eb9FFCDD53cF035a6e3bd5b73C22a43A5dF7A", + "initCode": "0x6101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x904f45316e8a797ed32418da26152b096dc25a5c2f996b5fbf965d624758df9b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x7a0d94f55792c434d74a40883c6ed8545e406d12", + "gas": "0x59e62", + "value": "0x0", + "data": "0x60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0xD49a72cb78C44c6bfbf0d471581B7635cF62E81e", + "initCode": "0x60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x272e2e88bbc5a2593bf7a2ba350adb225c086d56c8885d54da22bb2757f2a5ef", + "0x904f45316e8a797ed32418da26152b096dc25a5c2f996b5fbf965d624758df9b" + ], + "returns": {}, + "timestamp": 1703050162, + "chain": 11155111, + "multi": false, + "commit": "5506ec8" +} \ No newline at end of file diff --git a/broadcast/Factory_old.s.sol/11155111/run-1703050169.json b/broadcast/Factory_old.s.sol/11155111/run-1703050169.json new file mode 100644 index 00000000..c7dfe73e --- /dev/null +++ b/broadcast/Factory_old.s.sol/11155111/run-1703050169.json @@ -0,0 +1,107 @@ +{ + "transactions": [ + { + "hash": "0x272e2e88bbc5a2593bf7a2ba350adb225c086d56c8885d54da22bb2757f2a5ef", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x7a0d94f55792c434d74a40883c6ed8545e406d12", + "gas": "0x5cbf01", + "value": "0x0", + "data": "0x60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x5D006d3880645ec6e254E18C1F879DAC9Dd71A39", + "initCode": "0x60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + }, + { + "transactionType": "CREATE", + "address": "0xcc9B83cc9aF4a79663EC9E326c67B0Fd27Afd7f7", + "initCode": "0x61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + }, + { + "transactionType": "CREATE", + "address": "0xC69eb9FFCDD53cF035a6e3bd5b73C22a43A5dF7A", + "initCode": "0x6101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x904f45316e8a797ed32418da26152b096dc25a5c2f996b5fbf965d624758df9b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x7a0d94f55792c434d74a40883c6ed8545e406d12", + "gas": "0x59e62", + "value": "0x0", + "data": "0x60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0xD49a72cb78C44c6bfbf0d471581B7635cF62E81e", + "initCode": "0x60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x272e2e88bbc5a2593bf7a2ba350adb225c086d56c8885d54da22bb2757f2a5ef", + "transactionIndex": "0x10", + "blockHash": "0xf42c8fe048183ebc3155ea91802ee72ee7c25dab5aff8abeba9892ab425d913b", + "blockNumber": "0x4b18f4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "cumulativeGasUsed": "0x6129a8", + "gasUsed": "0x3f73a5", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb93979b1" + }, + { + "transactionHash": "0x904f45316e8a797ed32418da26152b096dc25a5c2f996b5fbf965d624758df9b", + "transactionIndex": "0x12", + "blockHash": "0xf42c8fe048183ebc3155ea91802ee72ee7c25dab5aff8abeba9892ab425d913b", + "blockNumber": "0x4b18f4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "cumulativeGasUsed": "0x7188cd", + "gasUsed": "0x3d7d3", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb93979b1" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1703050169, + "chain": 11155111, + "multi": false, + "commit": "5506ec8" +} \ No newline at end of file diff --git a/broadcast/Factory_old.s.sol/11155111/run-latest.json b/broadcast/Factory_old.s.sol/11155111/run-latest.json new file mode 100644 index 00000000..c7dfe73e --- /dev/null +++ b/broadcast/Factory_old.s.sol/11155111/run-latest.json @@ -0,0 +1,107 @@ +{ + "transactions": [ + { + "hash": "0x272e2e88bbc5a2593bf7a2ba350adb225c086d56c8885d54da22bb2757f2a5ef", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x7a0d94f55792c434d74a40883c6ed8545e406d12", + "gas": "0x5cbf01", + "value": "0x0", + "data": "0x60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1a", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0x5D006d3880645ec6e254E18C1F879DAC9Dd71A39", + "initCode": "0x60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + }, + { + "transactionType": "CREATE", + "address": "0xcc9B83cc9aF4a79663EC9E326c67B0Fd27Afd7f7", + "initCode": "0x61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + }, + { + "transactionType": "CREATE", + "address": "0xC69eb9FFCDD53cF035a6e3bd5b73C22a43A5dF7A", + "initCode": "0x6101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + }, + { + "hash": "0x904f45316e8a797ed32418da26152b096dc25a5c2f996b5fbf965d624758df9b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x7a0d94f55792c434d74a40883c6ed8545e406d12", + "gas": "0x59e62", + "value": "0x0", + "data": "0x60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1b", + "accessList": [] + }, + "additionalContracts": [ + { + "transactionType": "CREATE2", + "address": "0xD49a72cb78C44c6bfbf0d471581B7635cF62E81e", + "initCode": "0x60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789" + } + ], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x272e2e88bbc5a2593bf7a2ba350adb225c086d56c8885d54da22bb2757f2a5ef", + "transactionIndex": "0x10", + "blockHash": "0xf42c8fe048183ebc3155ea91802ee72ee7c25dab5aff8abeba9892ab425d913b", + "blockNumber": "0x4b18f4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "cumulativeGasUsed": "0x6129a8", + "gasUsed": "0x3f73a5", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb93979b1" + }, + { + "transactionHash": "0x904f45316e8a797ed32418da26152b096dc25a5c2f996b5fbf965d624758df9b", + "transactionIndex": "0x12", + "blockHash": "0xf42c8fe048183ebc3155ea91802ee72ee7c25dab5aff8abeba9892ab425d913b", + "blockNumber": "0x4b18f4", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x7A0D94F55792C434d74a40883C6ed8545E406D12", + "cumulativeGasUsed": "0x7188cd", + "gasUsed": "0x3d7d3", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb93979b1" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1703050169, + "chain": 11155111, + "multi": false, + "commit": "5506ec8" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/421614/run-1703052149.json b/broadcast/StakeToFactory.s.sol/421614/run-1703052149.json new file mode 100644 index 00000000..85b09435 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/421614/run-1703052149.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0x3e62ab289a2bf3956455db1f85a168f53416d724509d8d7de25d7bb9bcacdfbe", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "addStake(uint32)", + "arguments": [ + "86400" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x1ab67", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3e62ab289a2bf3956455db1f85a168f53416d724509d8d7de25d7bb9bcacdfbe", + "transactionIndex": "0x1", + "blockHash": "0x52b1b6419804895e2edceedc5b3a7c827c14d0cd1115e62c26f03c54fce5eb64", + "blockNumber": "0x2f698e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x14481", + "gasUsed": "0x14481", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0x52b1b6419804895e2edceedc5b3a7c827c14d0cd1115e62c26f03c54fce5eb64", + "blockNumber": "0x2f698e", + "transactionHash": "0x3e62ab289a2bf3956455db1f85a168f53416d724509d8d7de25d7bb9bcacdfbe", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1703052149, + "chain": 421614, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/421614/run-latest.json b/broadcast/StakeToFactory.s.sol/421614/run-latest.json new file mode 100644 index 00000000..85b09435 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/421614/run-latest.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0x3e62ab289a2bf3956455db1f85a168f53416d724509d8d7de25d7bb9bcacdfbe", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "addStake(uint32)", + "arguments": [ + "86400" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x1ab67", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0x13", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x3e62ab289a2bf3956455db1f85a168f53416d724509d8d7de25d7bb9bcacdfbe", + "transactionIndex": "0x1", + "blockHash": "0x52b1b6419804895e2edceedc5b3a7c827c14d0cd1115e62c26f03c54fce5eb64", + "blockNumber": "0x2f698e", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x14481", + "gasUsed": "0x14481", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0x52b1b6419804895e2edceedc5b3a7c827c14d0cd1115e62c26f03c54fce5eb64", + "blockNumber": "0x2f698e", + "transactionHash": "0x3e62ab289a2bf3956455db1f85a168f53416d724509d8d7de25d7bb9bcacdfbe", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1703052149, + "chain": 421614, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/scripts/StakeToFactory.s.sol b/scripts/StakeToFactory.s.sol index 1efcd38e..62a0f976 100644 --- a/scripts/StakeToFactory.s.sol +++ b/scripts/StakeToFactory.s.sol @@ -10,13 +10,12 @@ contract StakeToFactory is Script { address payable constant EXPECTED_KERNEL_ADDRESS = payable(0xf048AD83CB2dfd6037A43902a2A5Be04e53cd2Eb); address payable constant EXPECTED_KERNEL_FACTORY_ADDRESS = payable(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3); function run() public { - uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); - vm.startBroadcast(key); + vm.startBroadcast(DEPLOYER); KernelFactory factory = KernelFactory(EXPECTED_KERNEL_FACTORY_ADDRESS); IEntryPoint entryPoint = IEntryPoint(ENTRYPOINT_0_6); IStakeManager.DepositInfo memory info = entryPoint.getDepositInfo(address(factory)); if(info.stake < 1e17) { - factory.addStake{value: 1e17}(86400); + factory.addStake{value: 1e17 - info.stake}(86400); } vm.stopBroadcast(); } diff --git a/scripts/deterministic/Factory_old.s.sol b/scripts/deterministic/Factory_old.s.sol new file mode 100644 index 00000000..41becba8 --- /dev/null +++ b/scripts/deterministic/Factory_old.s.sol @@ -0,0 +1,20 @@ +pragma solidity ^0.8.0; + +import "./DeterministicDeploy.s.sol"; +import "forge-std/Script.sol"; +contract Factory_old is Script { + address constant DEPLOYER = 0x7A0D94F55792C434d74a40883C6ed8545E406D12; + address constant EXPECTED_FACTORY = 0x5D006d3880645ec6e254E18C1F879DAC9Dd71A39; + address constant EXPECTED_ECDSA_FACTORY = 0xD49a72cb78C44c6bfbf0d471581B7635cF62E81e; + bytes constant FACTORY_BYTECODE = hex"60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + bytes constant ECDSA_FACTORY_BYTECODE = hex"60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + function run() external { + address caller = 0x9775137314fE595c943712B0b336327dfa80aE8A; + vm.startBroadcast(caller); + DEPLOYER.call(FACTORY_BYTECODE); + require(EXPECTED_FACTORY.code.length != 0); + DEPLOYER.call(ECDSA_FACTORY_BYTECODE); + require(EXPECTED_ECDSA_FACTORY.code.length != 0); + vm.stopBroadcast(); + } +} diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index 09d4dad1..a3b7a537 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -47,6 +47,9 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { mapping(bytes32 callDataAndNonceHash => mapping(address guardian => mapping(address kernel => VoteStorage))) public voteStatus; + event GuardianAdded(address indexed guardian, address indexed kernel, uint24 weight); + event GuardianRemoved(address indexed guardian, address indexed kernel); + function _domainNameAndVersion() internal pure override returns (string memory, string memory) { return ("WeightedECDSAValidator", "0.0.1"); } @@ -66,6 +69,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { GuardianStorage({weight: _weights[i], nextGuardian: weightedStorage[msg.sender].firstGuardian}); weightedStorage[msg.sender].firstGuardian = _guardians[i]; weightedStorage[msg.sender].totalWeight += _weights[i]; + emit GuardianAdded(_guardians[i], msg.sender, _weights[i]); } weightedStorage[msg.sender].delay = _delay; weightedStorage[msg.sender].threshold = _threshold; @@ -76,6 +80,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { address currentGuardian = weightedStorage[msg.sender].firstGuardian; while (currentGuardian != msg.sender) { address nextGuardian = guardian[currentGuardian][msg.sender].nextGuardian; + emit GuardianRemoved(currentGuardian, msg.sender); delete guardian[currentGuardian][msg.sender]; currentGuardian = nextGuardian; } @@ -90,6 +95,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { address currentGuardian = weightedStorage[msg.sender].firstGuardian; while (currentGuardian != msg.sender) { address nextGuardian = guardian[currentGuardian][msg.sender].nextGuardian; + emit GuardianRemoved(currentGuardian, msg.sender); delete guardian[currentGuardian][msg.sender]; currentGuardian = nextGuardian; } @@ -105,6 +111,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { GuardianStorage({weight: _weights[i], nextGuardian: weightedStorage[msg.sender].firstGuardian}); weightedStorage[msg.sender].firstGuardian = _guardians[i]; weightedStorage[msg.sender].totalWeight += _weights[i]; + emit GuardianAdded(_guardians[i], msg.sender, _weights[i]); } weightedStorage[msg.sender].delay = _delay; weightedStorage[msg.sender].threshold = _threshold; From f0a6be5a9a4112483539c92a2197defe689399ca Mon Sep 17 00:00:00 2001 From: taek Date: Wed, 3 Jan 2024 21:43:21 +0900 Subject: [PATCH 23/51] Cherrypick dev (#67) * Link to AA SDKs * script for old factory * Update deployment addresses for Kernel and KernelLite v2.3 in README (#66) * Add Kernel factory address --------- Co-authored-by: Derek Chiang Co-authored-by: David Eiber --- README.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1194f2d0..f701be30 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,12 @@ Kernel is a smart contract account that is: Kernel is also a winner of [the inaugural Ethereum AA grant](https://erc4337.mirror.xyz/hRn_41cef8oKn44ZncN9pXvY3VID6LZOtpLlktXYtmA). At the time of writing, [Kernel powers over 60% of all AA wallets](https://twitter.com/SixdegreeLab/status/1705585256638849325?s=20). -Kernel can be used as a standalone smart contract account, but most people use it through [ZeroDev](https://docs.zerodev.app/). +Kernel is supported by all major AA SDKs, including: + +- [ZeroDev](https://docs.zerodev.app/) +- [Permissionless.js](https://docs.pimlico.io/permissionless/how-to/accounts/use-kernel-account) +- [UserOp.js](https://docs.stackup.sh/docs/useropjs-presets#kernel) +- [Account Kit](https://github.com/alchemyplatform/aa-sdk/tree/main/packages/accounts/src/kernel-zerodev) ## Resources @@ -31,12 +36,23 @@ MIT ## Addresses +

+v2.3 + +| Name | Address | +| -------------------- | ------------------------------------------ | +| Kernel | 0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab | +| KernelFactory | 0x5de4839a76cf55d0c90e2061ef4386d962E15ae3 | +| KernelLite | 0x482EC42E88a781485E1B6A4f07a0C5479d183291 | +
+
v2.2 | Name | Address | | -------------------- | ------------------------------------------ | | Kernel | 0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5 | +| KernelFactory | 0x5de4839a76cf55d0c90e2061ef4386d962E15ae3 | | KernelLite | 0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96 |
From b4e89962aa1864ac9fc3751a07a0ff5252a32a96 Mon Sep 17 00:00:00 2001 From: taek Date: Fri, 12 Jan 2024 13:48:26 +0900 Subject: [PATCH 24/51] Temp/script (#69) * moved to script folder * moved shell scripts * added broadcast * removed Caldera broadcast --- .../11155420/run-1704381429.json | 55 +++ .../11155420/run-1704381436.json | 85 +++++ .../11155420/run-latest.json | 356 ++---------------- .../421614/run-1704381283.json | 52 +++ .../421614/run-1704381365.json | 85 +++++ .../421614/run-latest.json | 356 ++---------------- .../84532/run-1704382076.json | 55 +++ .../84532/run-1704382083.json | 85 +++++ .../84532/run-latest.json | 356 ++---------------- .../11155420/run-1704381598.json | 36 ++ .../11155420/run-1704381605.json | 66 ++++ .../11155420/run-latest.json | 66 ++++ .../84532/run-1704382117.json | 36 ++ .../84532/run-1704382124.json | 66 ++++ .../84532/run-latest.json | 66 ++++ package.json | 4 +- {scripts => script}/DeployDeterministic.s.sol | 14 +- .../DeployECDSAValidator.s.sol | 0 {scripts => script}/DeployKernel.s.sol | 0 {scripts => script}/DeployKernelInitial.s.sol | 0 {scripts => script}/DeployKillSwitch.s.sol | 0 {scripts => script}/DeployMulticall.s.sol | 0 {scripts => script}/DeployRecovery.s.sol | 0 {scripts => script}/DeploySessionKey.s.sol | 0 {scripts => script}/DeployWeightedECDSA.s.sol | 0 {scripts => script}/StakeToFactory.s.sol | 0 .../deterministic/DeterministicDeploy.s.sol | 0 .../deterministic/ECDSAValidator.s.sol | 0 .../deterministic/Factory.s.sol | 0 .../deterministic/Factory_old.s.sol | 0 .../deterministic/Kernel2_2.s.sol | 0 .../deterministic/Kernel2_3.s.sol | 2 +- .../deterministic/SessionKey.s.sol | 0 .../postpack-contracts-package.sh | 0 .../prepack-contracts-package.sh | 0 35 files changed, 841 insertions(+), 1000 deletions(-) create mode 100644 broadcast/DeployDeterministic.s.sol/11155420/run-1704381429.json create mode 100644 broadcast/DeployDeterministic.s.sol/11155420/run-1704381436.json create mode 100644 broadcast/DeployDeterministic.s.sol/421614/run-1704381283.json create mode 100644 broadcast/DeployDeterministic.s.sol/421614/run-1704381365.json create mode 100644 broadcast/DeployDeterministic.s.sol/84532/run-1704382076.json create mode 100644 broadcast/DeployDeterministic.s.sol/84532/run-1704382083.json create mode 100644 broadcast/StakeToFactory.s.sol/11155420/run-1704381598.json create mode 100644 broadcast/StakeToFactory.s.sol/11155420/run-1704381605.json create mode 100644 broadcast/StakeToFactory.s.sol/11155420/run-latest.json create mode 100644 broadcast/StakeToFactory.s.sol/84532/run-1704382117.json create mode 100644 broadcast/StakeToFactory.s.sol/84532/run-1704382124.json create mode 100644 broadcast/StakeToFactory.s.sol/84532/run-latest.json rename {scripts => script}/DeployDeterministic.s.sol (75%) rename {scripts => script}/DeployECDSAValidator.s.sol (100%) rename {scripts => script}/DeployKernel.s.sol (100%) rename {scripts => script}/DeployKernelInitial.s.sol (100%) rename {scripts => script}/DeployKillSwitch.s.sol (100%) rename {scripts => script}/DeployMulticall.s.sol (100%) rename {scripts => script}/DeployRecovery.s.sol (100%) rename {scripts => script}/DeploySessionKey.s.sol (100%) rename {scripts => script}/DeployWeightedECDSA.s.sol (100%) rename {scripts => script}/StakeToFactory.s.sol (100%) rename {scripts => script}/deterministic/DeterministicDeploy.s.sol (100%) rename {scripts => script}/deterministic/ECDSAValidator.s.sol (100%) rename {scripts => script}/deterministic/Factory.s.sol (100%) rename {scripts => script}/deterministic/Factory_old.s.sol (100%) rename {scripts => script}/deterministic/Kernel2_2.s.sol (100%) rename {scripts => script}/deterministic/Kernel2_3.s.sol (99%) rename {scripts => script}/deterministic/SessionKey.s.sol (100%) rename {scripts => script}/postpack-contracts-package.sh (100%) rename {scripts => script}/prepack-contracts-package.sh (100%) diff --git a/broadcast/DeployDeterministic.s.sol/11155420/run-1704381429.json b/broadcast/DeployDeterministic.s.sol/11155420/run-1704381429.json new file mode 100644 index 00000000..734f483b --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/11155420/run-1704381429.json @@ -0,0 +1,55 @@ +{ + "transactions": [ + { + "hash": "0x5697bde2c37bd690a58d952cfb08f0539bc1cbb6515f6b4262d4fe48554b6641", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x983aba350c74c743ea7ac380e93b41268daaae657058b6beade4066be9156f40", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x5697bde2c37bd690a58d952cfb08f0539bc1cbb6515f6b4262d4fe48554b6641", + "0x983aba350c74c743ea7ac380e93b41268daaae657058b6beade4066be9156f40" + ], + "returns": {}, + "timestamp": 1704381429, + "chain": 11155420, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/11155420/run-1704381436.json b/broadcast/DeployDeterministic.s.sol/11155420/run-1704381436.json new file mode 100644 index 00000000..2aa0d384 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/11155420/run-1704381436.json @@ -0,0 +1,85 @@ +{ + "transactions": [ + { + "hash": "0x5697bde2c37bd690a58d952cfb08f0539bc1cbb6515f6b4262d4fe48554b6641", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x983aba350c74c743ea7ac380e93b41268daaae657058b6beade4066be9156f40", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x5697bde2c37bd690a58d952cfb08f0539bc1cbb6515f6b4262d4fe48554b6641", + "transactionIndex": "0x1", + "blockHash": "0xa7aa04f6f36f8a848a99615b8df4974bfabca9984459099c5161ad80df306d89", + "blockNumber": "0x5ff825", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e5a3f", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + }, + { + "transactionHash": "0x983aba350c74c743ea7ac380e93b41268daaae657058b6beade4066be9156f40", + "transactionIndex": "0x2", + "blockHash": "0xa7aa04f6f36f8a848a99615b8df4974bfabca9984459099c5161ad80df306d89", + "blockNumber": "0x5ff825", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3cf751", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704381436, + "chain": 11155420, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/11155420/run-latest.json b/broadcast/DeployDeterministic.s.sol/11155420/run-latest.json index 8252bdc6..2aa0d384 100644 --- a/broadcast/DeployDeterministic.s.sol/11155420/run-latest.json +++ b/broadcast/DeployDeterministic.s.sol/11155420/run-latest.json @@ -1,198 +1,40 @@ { "transactions": [ { - "hash": "0x86d8eb613a262188679a366f3d8628403ae253ee7d71c7e5c3f2382b59298c26", - "transactionType": "CREATE", - "contractName": "Kernel_2_3_Deploy", - "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "gas": "0x61e8a1", - "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", - "nonce": "0x0", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xf2137", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", - "nonce": "0x1", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfa64a1629c1432752bd1aed9ffd62df51547aeb218f73fdfcfc1ba53866ea0fd", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x6e303", - "value": "0x0", - "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", - "nonce": "0x2", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xd1dc21cdb85b45c443ce86e54ecd0382105e1f6b5868af69e5d2d9908eb6cdda", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", - "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x3", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xac38202726678c60a00a029dc6ba14df55e489a0ebf6adce80d383d9b22de6a4", + "hash": "0x5697bde2c37bd690a58d952cfb08f0539bc1cbb6515f6b4262d4fe48554b6641", "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x293c83", + "gas": "0x2b4047", "value": "0x0", - "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", - "nonce": "0x4", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0xb4632f32b136ce7860c9f5583ea26562db1694f5a2d5bb9cc6b03da5de6947e3", + "hash": "0x983aba350c74c743ea7ac380e93b41268daaae657058b6beade4066be9156f40", "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x285e72", - "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", - "nonce": "0x5", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xe2d9f4e7e269375d92a9e854658faabc6be35ac8db7519377328c852fe62d367", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", - "value": "0x0", - "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x6", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x9fdfe2acf959ba087e19a0aa71a80d2cd09610467f773f907f3f5fea8d512dc5", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", - "value": "0x0", - "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x7", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x08d1acbe34b6977b0f046efb7d9756bc15386d879d9b59e5ab154af649f66c6c", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", - "value": "0x0", - "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x8", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x82b155249b6732939294c129b5b3f9719b7fcb636b446e669608edf12ddbf93f", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", + "gas": "0x2cc255", "value": "0x0", - "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x9", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xc", "accessList": [] }, "additionalContracts": [], @@ -201,94 +43,14 @@ ], "receipts": [ { - "transactionHash": "0x86d8eb613a262188679a366f3d8628403ae253ee7d71c7e5c3f2382b59298c26", + "transactionHash": "0x5697bde2c37bd690a58d952cfb08f0539bc1cbb6515f6b4262d4fe48554b6641", "transactionIndex": "0x1", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": null, - "cumulativeGasUsed": "0x4c1b3d", - "gasUsed": "0x4b5604", - "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efc" - }, - { - "transactionHash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", - "transactionIndex": "0x2", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x567450", - "gasUsed": "0xa5913", - "contractAddress": null, - "logs": [ - { - "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" - ], - "data": "0x", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "transactionHash": "0x2616e2341e7c21765e5efa820d7954b5b960ec334af051f3d4bfd522f5951aa4", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efc" - }, - { - "transactionHash": "0xfa64a1629c1432752bd1aed9ffd62df51547aeb218f73fdfcfc1ba53866ea0fd", - "transactionIndex": "0x3", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x5b7106", - "gasUsed": "0x4fcb6", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efc" - }, - { - "transactionHash": "0xd1dc21cdb85b45c443ce86e54ecd0382105e1f6b5868af69e5d2d9908eb6cdda", - "transactionIndex": "0x4", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x6e6230", - "gasUsed": "0x12f12a", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efc" - }, - { - "transactionHash": "0xac38202726678c60a00a029dc6ba14df55e489a0ebf6adce80d383d9b22de6a4", - "transactionIndex": "0x5", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", + "blockHash": "0xa7aa04f6f36f8a848a99615b8df4974bfabca9984459099c5161ad80df306d89", + "blockNumber": "0x5ff825", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x8a9673", - "gasUsed": "0x1c3443", + "cumulativeGasUsed": "0x1e5a3f", + "gasUsed": "0x1d9506", "contractAddress": null, "logs": [], "status": "0x1", @@ -297,78 +59,14 @@ "effectiveGasPrice": "0xb2d05efc" }, { - "transactionHash": "0xb4632f32b136ce7860c9f5583ea26562db1694f5a2d5bb9cc6b03da5de6947e3", - "transactionIndex": "0x6", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", + "transactionHash": "0x983aba350c74c743ea7ac380e93b41268daaae657058b6beade4066be9156f40", + "transactionIndex": "0x2", + "blockHash": "0xa7aa04f6f36f8a848a99615b8df4974bfabca9984459099c5161ad80df306d89", + "blockNumber": "0x5ff825", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0xa7d29d", - "gasUsed": "0x1d3c2a", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efc" - }, - { - "transactionHash": "0xe2d9f4e7e269375d92a9e854658faabc6be35ac8db7519377328c852fe62d367", - "transactionIndex": "0x7", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xa887ff", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efc" - }, - { - "transactionHash": "0x9fdfe2acf959ba087e19a0aa71a80d2cd09610467f773f907f3f5fea8d512dc5", - "transactionIndex": "0x8", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xa93d61", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efc" - }, - { - "transactionHash": "0x08d1acbe34b6977b0f046efb7d9756bc15386d879d9b59e5ab154af649f66c6c", - "transactionIndex": "0x9", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xa9f2c3", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efc" - }, - { - "transactionHash": "0x82b155249b6732939294c129b5b3f9719b7fcb636b446e669608edf12ddbf93f", - "transactionIndex": "0xa", - "blockHash": "0xeae569fe7d315865d939a4dabc44d69d1d7f5ce4258f1983ec1e53a8de23e3bd", - "blockNumber": "0x52097f", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xaaa825", - "gasUsed": "0xb562", + "cumulativeGasUsed": "0x3cf751", + "gasUsed": "0x1e9d12", "contractAddress": null, "logs": [], "status": "0x1", @@ -377,13 +75,11 @@ "effectiveGasPrice": "0xb2d05efc" } ], - "libraries": [ - "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" - ], + "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702555310, + "timestamp": 1704381436, "chain": 11155420, "multi": false, - "commit": "d3b15de" + "commit": "cc00ca6" } \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/421614/run-1704381283.json b/broadcast/DeployDeterministic.s.sol/421614/run-1704381283.json new file mode 100644 index 00000000..962580a3 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/421614/run-1704381283.json @@ -0,0 +1,52 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x314c2ef", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x33345a4", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704381283, + "chain": 421614, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/421614/run-1704381365.json b/broadcast/DeployDeterministic.s.sol/421614/run-1704381365.json new file mode 100644 index 00000000..1bee81c2 --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/421614/run-1704381365.json @@ -0,0 +1,85 @@ +{ + "transactions": [ + { + "hash": "0x7fe9db8ad193302d7c2dd5556b3ffcef767c5c022cb6947c7cc51d75a5ecff90", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x139f7cf", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x15", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x7a48439f48eed1e4f3526f110e1d79d06f42ed16845b5fe49d6594ba704bdb30", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x14604e3", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x16", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7fe9db8ad193302d7c2dd5556b3ffcef767c5c022cb6947c7cc51d75a5ecff90", + "transactionIndex": "0x2", + "blockHash": "0x7eb401ca045b537e7a429fe10db681b4dd0ef204e5e0e0c55ee83c2aabadc3f8", + "blockNumber": "0x4b8869", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xee736d", + "gasUsed": "0xdb2b72", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + }, + { + "transactionHash": "0x7a48439f48eed1e4f3526f110e1d79d06f42ed16845b5fe49d6594ba704bdb30", + "transactionIndex": "0x1", + "blockHash": "0x9da4648d70b9264e2c43d942cc86684621a8a8b7c71c0c138119e71b3f2ac102", + "blockNumber": "0x4b8872", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xe36df1", + "gasUsed": "0xe36df1", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0x5f5e100" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704381365, + "chain": 421614, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/421614/run-latest.json b/broadcast/DeployDeterministic.s.sol/421614/run-latest.json index dfc6be0a..1bee81c2 100644 --- a/broadcast/DeployDeterministic.s.sol/421614/run-latest.json +++ b/broadcast/DeployDeterministic.s.sol/421614/run-latest.json @@ -1,198 +1,40 @@ { "transactions": [ { - "hash": "0x3ea118e66c3825d56a1887d4ebd2cb9109a4dc5a68d39c6bd3f3f30338eb332f", - "transactionType": "CREATE", - "contractName": "Kernel_2_3_Deploy", - "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "gas": "0x61e8a1", - "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", - "nonce": "0x0", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xda130", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", - "nonce": "0x1", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x76197e0644a99f6e94986acbc9288a2563d06422358bdfe4037de7374f4674b1", + "hash": "0x7fe9db8ad193302d7c2dd5556b3ffcef767c5c022cb6947c7cc51d75a5ecff90", "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x68f73", + "gas": "0x139f7cf", "value": "0x0", - "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", - "nonce": "0x2", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x15", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x2ca736b9a55443fe00baabe1999b29161d26b9913e540bbef2dc90703c19d58a", + "hash": "0x7a48439f48eed1e4f3526f110e1d79d06f42ed16845b5fe49d6594ba704bdb30", "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x18f677", - "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x3", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7452080bacef7b9d91d7c29d12fc9c07e6de2e3b61b7d3dc2e226b9799baa269", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x252d23", - "value": "0x0", - "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", - "nonce": "0x4", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc17ff6cfaa324770bb930e9d9349c4dc3f40a25b246e3b5bf19f43764ee4c1a5", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x268936", - "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", - "nonce": "0x5", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x7db6254e1bbeb109659e681499b0948e39778595134d9967f359931919641329", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x6d8b", - "value": "0x0", - "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x6", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5fb09c906642af67ad6e3fa60ff73f95b8c3883d35dbc4611f6c244e1fd7d80b", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x6d8b", - "value": "0x0", - "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x7", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2844091168be5426a0a148c56d255f431fe23c11df4e5acc7923d95c02c8b2fd", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x6d8b", - "value": "0x0", - "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x8", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x6b7b71b5a110a8a52b68cab5d3366b7dabb98a29501c1d0022c43d4f69badbdd", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x6d8b", + "gas": "0x14604e3", "value": "0x0", - "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x9", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0x16", "accessList": [] }, "additionalContracts": [], @@ -201,62 +43,14 @@ ], "receipts": [ { - "transactionHash": "0x3ea118e66c3825d56a1887d4ebd2cb9109a4dc5a68d39c6bd3f3f30338eb332f", - "transactionIndex": "0x1", - "blockHash": "0xf5399cbe2c661f063057c431afc1234c669120e4d44948bc498215bb59d6aeca", - "blockNumber": "0x2af3c4", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": null, - "cumulativeGasUsed": "0x4b507c", - "gasUsed": "0x4b507c", - "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", - "transactionIndex": "0x1", - "blockHash": "0x5a9a7e7f113dff8b463cae7867883bddfb330b3b2a70269486ec7bad243e06e2", - "blockNumber": "0x2af3c6", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0xa585b", - "gasUsed": "0xa585b", - "contractAddress": null, - "logs": [ - { - "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" - ], - "data": "0x", - "blockHash": "0x5a9a7e7f113dff8b463cae7867883bddfb330b3b2a70269486ec7bad243e06e2", - "blockNumber": "0x2af3c6", - "transactionHash": "0xaf8c1ab08df9bb501075ccdc32acd20b79ac581b21ee77a1be7d9e9df6d01023", - "transactionIndex": "0x1", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x76197e0644a99f6e94986acbc9288a2563d06422358bdfe4037de7374f4674b1", - "transactionIndex": "0x1", - "blockHash": "0xfa88946996e1a2a403172dbb73ec888a3aac886a1fdb309576149c4e10021af0", - "blockNumber": "0x2af3ca", + "transactionHash": "0x7fe9db8ad193302d7c2dd5556b3ffcef767c5c022cb6947c7cc51d75a5ecff90", + "transactionIndex": "0x2", + "blockHash": "0x7eb401ca045b537e7a429fe10db681b4dd0ef204e5e0e0c55ee83c2aabadc3f8", + "blockNumber": "0x4b8869", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x4fc64", - "gasUsed": "0x4fc64", + "cumulativeGasUsed": "0xee736d", + "gasUsed": "0xdb2b72", "contractAddress": null, "logs": [], "status": "0x1", @@ -265,110 +59,14 @@ "effectiveGasPrice": "0x5f5e100" }, { - "transactionHash": "0x2ca736b9a55443fe00baabe1999b29161d26b9913e540bbef2dc90703c19d58a", + "transactionHash": "0x7a48439f48eed1e4f3526f110e1d79d06f42ed16845b5fe49d6594ba704bdb30", "transactionIndex": "0x1", - "blockHash": "0x83e9c08a3993469219e3d0f6dcac4c676d10d631f8077ff8529297fc9ebe6798", - "blockNumber": "0x2af3cb", + "blockHash": "0x9da4648d70b9264e2c43d942cc86684621a8a8b7c71c0c138119e71b3f2ac102", + "blockNumber": "0x4b8872", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x12efd0", - "gasUsed": "0x12efd0", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x7452080bacef7b9d91d7c29d12fc9c07e6de2e3b61b7d3dc2e226b9799baa269", - "transactionIndex": "0x1", - "blockHash": "0x8fa49fbc6dbf0207e860efbc13657f2f91884ef0bc545a51f87848be0bdc4d1b", - "blockNumber": "0x2af3cf", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x1c3221", - "gasUsed": "0x1c3221", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0xc17ff6cfaa324770bb930e9d9349c4dc3f40a25b246e3b5bf19f43764ee4c1a5", - "transactionIndex": "0x1", - "blockHash": "0xf0f5de24a02f77b3d5e53504528d1f06b3d138b0c9f7a711c6f15850a1bb9cfd", - "blockNumber": "0x2af3d2", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x1d39f4", - "gasUsed": "0x1d39f4", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x7db6254e1bbeb109659e681499b0948e39778595134d9967f359931919641329", - "transactionIndex": "0x1", - "blockHash": "0xd55c2b8d6387f7760b079bab6430bc03ed67e508ee57c37b19a8998991ee81e1", - "blockNumber": "0x2af3d7", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xb562", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x5fb09c906642af67ad6e3fa60ff73f95b8c3883d35dbc4611f6c244e1fd7d80b", - "transactionIndex": "0x5", - "blockHash": "0x147cff15bf8d346e9579c862396dfc639a52f86d756798f614204426ac24e508", - "blockNumber": "0x2af3dd", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0x4bd29e", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x2844091168be5426a0a148c56d255f431fe23c11df4e5acc7923d95c02c8b2fd", - "transactionIndex": "0x1", - "blockHash": "0x32168c537ec55262d0751194dcef3f94d8fd53e0e825b56eba9cee563d02d4d7", - "blockNumber": "0x2af3e0", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xb562", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0x5f5e100" - }, - { - "transactionHash": "0x6b7b71b5a110a8a52b68cab5d3366b7dabb98a29501c1d0022c43d4f69badbdd", - "transactionIndex": "0x1", - "blockHash": "0xd5bec0559e0483832427dbd8e45fe78f8a3e94f33cabaafd067deb16ba4364b2", - "blockNumber": "0x2af3e3", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xb562", - "gasUsed": "0xb562", + "cumulativeGasUsed": "0xe36df1", + "gasUsed": "0xe36df1", "contractAddress": null, "logs": [], "status": "0x1", @@ -377,13 +75,11 @@ "effectiveGasPrice": "0x5f5e100" } ], - "libraries": [ - "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" - ], + "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702555169, + "timestamp": 1704381365, "chain": 421614, "multi": false, - "commit": "435cac7" + "commit": "cc00ca6" } \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/84532/run-1704382076.json b/broadcast/DeployDeterministic.s.sol/84532/run-1704382076.json new file mode 100644 index 00000000..adce79cc --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/84532/run-1704382076.json @@ -0,0 +1,55 @@ +{ + "transactions": [ + { + "hash": "0xb8918b92c59a4c7294002ff46ff4c6f185b79d3bc9a99cff33941cfe4a60c5bb", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf5c4b0dab9934e17aa83b5b2b38d038682e0754f0ca3b6db2bc5e3aa888496a8", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xb8918b92c59a4c7294002ff46ff4c6f185b79d3bc9a99cff33941cfe4a60c5bb", + "0xf5c4b0dab9934e17aa83b5b2b38d038682e0754f0ca3b6db2bc5e3aa888496a8" + ], + "returns": {}, + "timestamp": 1704382076, + "chain": 84532, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/84532/run-1704382083.json b/broadcast/DeployDeterministic.s.sol/84532/run-1704382083.json new file mode 100644 index 00000000..7032f05d --- /dev/null +++ b/broadcast/DeployDeterministic.s.sol/84532/run-1704382083.json @@ -0,0 +1,85 @@ +{ + "transactions": [ + { + "hash": "0xb8918b92c59a4c7294002ff46ff4c6f185b79d3bc9a99cff33941cfe4a60c5bb", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2b4047", + "value": "0x0", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xf5c4b0dab9934e17aa83b5b2b38d038682e0754f0ca3b6db2bc5e3aa888496a8", + "transactionType": "CREATE2", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", + "function": null, + "arguments": null, + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2cc255", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xc", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xb8918b92c59a4c7294002ff46ff4c6f185b79d3bc9a99cff33941cfe4a60c5bb", + "transactionIndex": "0x1", + "blockHash": "0x0be761874fa050462bb3767bd832f12d8532ed1f5c12f68cc75209a755199300", + "blockNumber": "0x41b7cf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e4c47", + "gasUsed": "0x1d9506", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + }, + { + "transactionHash": "0xf5c4b0dab9934e17aa83b5b2b38d038682e0754f0ca3b6db2bc5e3aa888496a8", + "transactionIndex": "0x2", + "blockHash": "0x0be761874fa050462bb3767bd832f12d8532ed1f5c12f68cc75209a755199300", + "blockNumber": "0x41b7cf", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x3ce959", + "gasUsed": "0x1e9d12", + "contractAddress": null, + "logs": [], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704382083, + "chain": 84532, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/DeployDeterministic.s.sol/84532/run-latest.json b/broadcast/DeployDeterministic.s.sol/84532/run-latest.json index 9985c0b5..7032f05d 100644 --- a/broadcast/DeployDeterministic.s.sol/84532/run-latest.json +++ b/broadcast/DeployDeterministic.s.sol/84532/run-latest.json @@ -1,198 +1,40 @@ { "transactions": [ { - "hash": "0xbd5adf2f4509fcf978b30e972686f40649e44f503fdcf5dcea26ba3f74175af8", - "transactionType": "CREATE", - "contractName": "Kernel_2_3_Deploy", - "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "gas": "0x61e8a1", - "data": "0x6080806040523461001d5761584d9081620000238239308160250152f35b600080fdfe600436101561000d57600080fd5b60003560e01c63775c300c1461002257600080fd5b307f0000000000000000000000000000000000000000000000000000000000000000146157a65760003660031901126157a65761248060408190526123cb608052600060a08190527f61014034620001be57601f6200238b38819003918201601f191683019160016060c0527f0160401b03831184841017620001c3578084926020946040528339810103126260e0527e01be57516001600160a01b0381168103620001be57306080524660a05260a0610100527f62000069620001d9565b600681526005602082016512d95c9b995b60d21b8152610120527f60206200008b620001d9565b838152019264302e322e3360d81b845251902091610140527f208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f610160527f7b179b0ffacaa9a75d522b39400f835260208301526040820152466060820152610180527f30608082015220906101009182526101209081527f439ffe7df606b78489639b6101a0527fc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000006101c0527e80600160f01b0319825416179055604051906121919283620001fa843960806101e0527f5183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd610200527f01525182611b21015251818181610506015281816107c5015281816108d20152610220527f8181610a5d01528181610b8501528181610d7f01528181610de901528181610f610240527f4d0152818161104c015281816111760152818161121f01526115660152f35b60610260527e80fd5b634e487b7160e01b600052604160045260246000fd5b604080519190610280527f82016001600160401b03811183821017620001c35760405256fe6080604052606102a0527f0436101561001d575b366111595761001b612047565b005b60003560e01c80636102c0527f06fdde031461019d5780630b3dc35414610198578063150b7a021461019357806102e0527f631626ba7e1461018e57806329f8b17414610189578063333daf921461018457610300527f806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd14610175610320527f5780633e1b08121461017057806351166ba01461016b57806351945447146101610340527f6657806354fd4d501461016157806355b14f501461015c57806357b750471461610360527f015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610380527f610148578063b68df16d14610143578063bc197c811461013e578063d087d2886103a0527f14610139578063d1f5789414610134578063d54162211461012f5763f23a6e616103c0527f0361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610d6103e0527fae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b56610400527f5b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b61610420527f0639565b610491565b61043e565b6103b1565b610332565b6102fe565b600091610440527f03126101ad57565b600080fd5b634e487b7160e01b6000526041600452602460610460527efd5b6001600160401b0381116101db57604052565b6101b2565b6060810190610480527f81106001600160401b038211176101db57604052565b608081019081106001606104a0527f0160401b038211176101db57604052565b604081019081106001600160401b036104c0527f8211176101db57604052565b60c081019081106001600160401b0382111761016104e0527fdb57604052565b90601f801991011681019081106001600160401b0382111761610500527f01db57604052565b6040519061027a826101fb565b565b604051906101608201610520527f8281106001600160401b038211176101db57604052565b604051906102a98261610540527f0216565b600682526512d95c9b995b60d21b6020830152565b91908251928382610560527f5260005b8481106102ea575050826000602080949584010152601f8019910116610580527f010190565b6020818301810151848301820152016102c9565b346101ad5760006105a0527f3660031901126101ad5761032e61031a61029c565b60405191829160208352606105c0527f208301906102be565b0390f35b346101ad5760003660031901126101ad5760206105e0527f6000805160206121718339815191525460501c6040519060018060a01b031681610600527f52f35b6001600160a01b038116036101ad57565b359061027a82610368565b91610620527f81601f840112156101ad578235916001600160401b0383116101ad5760208381610640527f8601950101116101ad57565b346101ad5760803660031901126101ad576103cd610660527f600435610368565b6103d8602435610368565b6064356001600160401b038111610680527f6101ad576103f7903690600401610384565b5050604051630a85bd0160e11b816106a0527f52602090f35b9060406003198301126101ad57600435916024359060016001606106c0527f401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206106e0527f6104576104513661040b565b91611c33565b6040516001600160e01b03199091610700527f168152f35b600435906001600160e01b0319821682036101ad57565b65ffffff610720527fffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b610740527f602435906104b282610368565b604435906104bf82610368565b6064356104cb610760527f81610481565b608435936104d885610481565b60a4356001600160401b038111610780527f6101ad576104f7903690600401610384565b9590946001600160a01b0393337f6107a0526107c08190527f861614158061062f575b61061d5784926105646105909261055561054761026d6107e0527f565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b60610800527f01600160a01b03851660408201526001600160a01b038316606082015261058b610820527f87611121565b611803565b1693843b156101ad576040519063064acaab60e11b610840527f825281806105ba6000998a94600484016118b6565b038183895af18015610618610860527f576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f610880527f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c61066108a0527f12926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d6108c0527f60e01b8152600490fd5b503033141561052f565b346101ad57602061065261066108e0527f4c3661040b565b91611f8c565b604051908152f35b9291926001600160401b03610900527f82116101db5760405191610683601f8201601f19166020018461024c565b8294610920527f818452818301116101ad578281602093846000960137010152565b9080601f83610940527f0112156101ad578160206106bb9335910161065a565b90565b60208060031936610960527f01126101ad576001600160401b036004358181116101ad573660238201121561610980527f01ad578060040135918083116101db578260051b9060409081519461070c87856109a0527f018761024c565b85528585019160248094860101943686116101ad57848101936109c0527f5b8685106107365761001b8861121c565b84358481116101ad578201606060236109e0527f1982360301126101ad5783519161075b836101e0565b87820135610768816103610a00527f68565b835260448201358b8401526064820135928684116101ad576107928c94610a20527f938a8695369201016106a0565b86820152815201940193610726565b60203660610a40527f031901126101ad576004356107b981610368565b6001600160a01b0390337f00610a60526083610a80527f1614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca610aa0527f3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041610ac0527ff755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee610ae0527f565b6003196060368201126101ad57600435906001600160401b0382116101ad610b00527f576101609082360301126101ad57610652602091604435906024359060040161610b20527f1559565b346101ad5760203660031901126101ad576004356001600160c01b03610b40527f8116908190036101ad57604051631aab3f0d60e11b8152306004820152602481610b60526b01919091526020816044817f60a01b610b8052736001600160a01b03165afa80156106185761032e610ba0527f9160009161091f575b506040519081529081906020820190565b610940915060610bc0527f203d8111610946575b610938818361024c565b81019061146e565b3861090e56610be0527f5b503d61092e565b346101ad5760203660031901126101ad5761032e61099261610c00527f096c61046a565b6000606060405161097c816101fb565b828152826020820152610c20527f8260408201520152611121565b6040519061099f826101fb565b805465ffffff610c40527fffffff80821684528160301c16602084015260601c60408301526001808060a0610c60527f1b03910154166060820152604051918291829190916060608082019365ffffff610c80527fffffff80825116845260208201511660208401528160018060a01b0391826040610ca0527f820151166040860152015116910152565b60803660031901126101ad57600435610cc0527f610a2e81610368565b6044356001600160401b0381116101ad57610a4d903690610ce0527f6004016106a0565b9060643560028110156101ad57337f000000000000000000610d0052686001600160a01b0316610d20527f141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac95760610d40527e828193926020839451920190602435905af13d82803e15610ac5573d90f35b610d60527f3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c610d80527f565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216610da0527f565b6005825264302e322e3360d81b6020830152565b346101ad576000366003610dc0527f1901126101ad5761032e61031a610afa565b9060406003198301126101ad5760610de0527f0435610b5081610368565b91602435906001600160401b0382116101ad576104610e00527f3a91600401610384565b610b7836610b37565b90916001600160a01b03337f00610e20526082610e40527f16141580610c4b575b61061d5780600080516020612171833981519152546050610e60527f1c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb610e80527f614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b1561610ea0527f0c47578385610c25819593829463064acaab60e11b8452600484016118b6565b610ec0527f03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80610ee0527ff35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad610f00527f5760206000805160206121718339815191525460e01b6040519063ffffffff60610f20527fe01b168152f35b346101ad5760003660031901126101ad57610ce2610ca86102610f40527f9c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360610f60527fe08587015260e08601906102be565b9084820360408601526102be565b904660610f80527f60840152306080840152600060a084015282820360c084015280606051928381610fa0527f52019160809160005b828110610d1d57505050500390f35b8351855286955093610fc0527f81019392810192600101610d0e565b346101ad5760003660031901126101ad57610fe0527f60206000805160206121718339815191525465ffffffffffff60405191831c16611000527f8152f35b346101ad5760003660031901126101ad576040517f0000000000000061102052666001600160a01b6110408190527f03168152602090f35b60403660031901126101ad57600435610dc68161036856611060527f5b6024356001600160401b0381116101ad57610de59036906004016106a0565b611080526290337f60e81b6110a0527c6001600160a01b0316141580610e51575b80610e40575b61061d5760006110c0527f8281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c616110e0527f0ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101611100527fad578235916001600160401b0383116101ad576020808501948460051b010111611120527f6101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368611140527f565b610eb2602435610368565b6001600160401b036044358181116101ad5761611160527f0ed2903690600401610e5b565b50506064358181116101ad57610eec90369060611180527f0401610e5b565b50506084359081116101ad57610f06903690600401610384566111a0527f5b505060405163bc197c8160e01b8152602090f35b346101ad576000366003196111c0527f01126101ad57604051631aab3f0d60e11b8152306004820152600060248201526111e052666020816044817f60c81b61120052786001600160a01b03165afa80156106185761032e9160009161611220527f091f57506040519081529081906020820190565b610fa236610b37565b600080611240527f51602061217183398151915254919290916001600160a01b03919060501c8216611260527f61102457610fd281612078565b1691823b156101ad5761100792600092836040611280527f5180968195829463064acaab60e11b84526020600485015260248401916118956112a0527f565b03925af180156106185761101757005b8061060c61001b926101c8565b606112c0527f405162dc149f60e41b8152600490fd5b60203660031901126101ad57611049616112e05265046a565b337f60d01b61130052796001600160a01b03161415806110bd575b61061d576000805160611320527f2061217183398151915290815469ffffffffffff000000004260201b169160e0611340527f1c9069ffffffffffffffffffff191617179055600080f35b503033141561107c611360527f565b346101ad5760a03660031901126101ad576110e3600435610368565b6110611380527fee602435610368565b6084356001600160401b0381116101ad5761110d9036906113a0527f600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffff6113c0527fff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa68026113e0527f968a5b3694c53e0dda602052604060002090565b600061116f81356001600160611400526fe01b031916611121565b5460601c337f60801b611420526f6001600160a01b03161415806111c357611440527f5b61061d57818091368280378136915af43d82803e15610ac5573d90f35b5061611460527f11cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b60611480527e52602160045260246000fd5b80518210156112065760209160051b010190566114a0527f5b634e487b7160e01b600052603260045260246000fd5b337f000000000000006114c0526114e0527f03161415806112a9575b61061d5780519060005b82811061126557505050565b611500527f60008061127283856111f2565b5180516001600160a01b031660209160408382611520527f01519101519283519301915af13d6000803e156112a457600101611259565b3d611540527f6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad57906004611560527f90565b90929192836004116101ad5783116101ad57600401916003190190565b611580527f906024116101ad5760100190601490565b906058116101ad57603801906020906115a0527f565b906024116101ad5760040190602090565b906038116101ad5760240190606115c0527f1490565b90600a116101ad5760040190600690565b906010116101ad57600a016115e0527f90600690565b909392938483116101ad5784116101ad578101920390565b6001611600527f600160e01b0319903581811693926004811061138057505050565b6004036003611620527f1b82901b16169150565b9190610160838203126101ad576113a461027c565b92611640527f6113ae81610379565b8452602081013560208501526040810135916001600160611660527f401b03928381116101ad57816113dc9184016106a0565b604086015260608201611680527f358381116101ad57816113f99184016106a0565b6060860152608082013560806116a0527f86015260a082013560a086015260c082013560c086015260e082013560e086016116c0527f526101008083013590860152610120808301358481116101ad578261144b91856116e0527f016106a0565b9086015261014092838301359081116101ad5761146892016106611700527fa0565b90830152565b908160209103126101ad575190565b6060808252825160611720527f01600160a01b0316908201529193929160409161154390602081015160808401611740527f52838101516114c2610160918260a08701526101c08601906102be565b906115611760527f306114e2606085015193605f1994858983030160c08a01526102be565b608085611780527f015160e088015260a085015192610100938489015260c08601519061012091826117a0527f8a015260e08701519461014095868b01528701519089015285015184888303016117c0527f6101808901526102be565b92015190848303016101a08501526102be565b94606117e0527f208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f61180052611820527f8516330361177757600494853592836101448101350191876024840193013594611840527f6115b86115b287866112ba565b90611363565b926001600160e01b0319808516611860527f918215611754576115d790369061138f565b946115f160008051602061217183611880527f39815191525460e01b90565b1616156116095760405163fc2f51c560e01b81526118a0527f8a90fd5b97989697600160e01b810361170357509060209596611693611661616118c0527f16486116436115b287606460009901350160248782013591016112ba565b61116118e0527f21565b6001810154909a9081906001600160a01b0316986112c8565b995460d0611900527f81901b6001600160d01b03191660709190911b65ffffffffffff60a01b161799611920527f5b8b6116f5575b369161065a565b6101408501526116b7604051998a97889687611940527f94633a871cdd60e01b8652850161147d565b0393165af1908115610618576106611960527fbb926000926116d5575b506120ee565b6116ee91925060203d81116109465761611980527f0938818361024c565b90386116cf565b348080808f335af15061168c565b90956119a0527f939190600160e11b036117475761173d611693946000936117386115b28a60646119c0527f60209c01350160248d82013591016112ba565b6118c7565b91999296916116866119e0527f565b5050505050505050600190565b9697505050505050506106bb9394508215611a00527f611ec0573434343486335af150611ec0565b604051636b31ba1560e11b815260611a20527f0490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab611a40527f57505050565b60140360031b82901b16169150565b3590602081106117c85750611a60527f90565b6000199060200360031b1b1690565b6001600160d01b03199035818116611a80527f9392600681106117f457505050565b60060360031b82901b16169150565b8151611aa0527f6020830151604084015160309190911b6bffffffffffff0000000000001665ff611ac0527a6d6f6de96e6f6ee89f9f6e7de494000000000000000000000000e619611ae0527f161782559091015160019190910180546001600160a01b0319166001600160a0611b00527f1b0392909216919091179055565b906020918082528060008484013760008282611b20527f01840152601f01601f1916010190565b90806020939281845284840137600082611b40527f8201840152601f01601f1916010190565b9160206106bb938181520191611895611b60527f565b91906118d382826112e5565b6118dc91611789565b60601c936118ea8383611b80527f6112f6565b6118f3916117ba565b60588301607882019485836058019061190d611ba0527f91838861134b565b611916916117ba565b6119208287611307565b6119299161611bc0527f17ba565b6119338388611318565b61193c91611789565b60601c61194a368787611be0527f61065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68af611c00527fdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03611c20527f198e169181019190915260608101949094526001600160a01b03929092166080611c40527f84015260a080840192909252908252906119c060c08261024c565b5190206119611c60527fcc90611b1f565b90840196607888016119df91848961134b565b906119e99261611c80527f1f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba611ca0527f565b16611a11916120ee565b966078868801019682036077190195611a2a8382611cc0527f611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a91611ce0527f6117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611d00527f611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ff611d20527a6f6ae97aad9a000000000000e99fdf7afead9ffe9ffe9f5fe4fce919611d40527f60408401526001600160a01b03166060830152611ac190611121565b90611acb611d60527f91611803565b6001600160a01b03871691823b156101ad57611b019260009283611d80527f60405180968195829463064acaab60e11b8452600484016118b6565b03925af1611da0527f801561061857611b125750565b8061060c61027a926101c8565b7f0000000000611dc052647f00000000611de0526330147f00611e00526046611e20527f141615611bac575b671901000000000000600052601a52603a52604260182090611e40527f6000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f611e6052707b179b0ffacaa9a75d522b39400f81527f60781b611e80526e60208201527f000000000000000000611ea05268604082015246606082611ec0527f015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a611ee0527f61029c565b611c52610afa565b90602081519101209060208151910120604051611f00527f9060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9611f20527fa75d522b39400f8452604083015260608201524660808201523060a082015260611f40527fa08152611cb181610231565b5190209260405192839160208301958690916042611f60527f9261190160f01b8352600283015260228201520190565b03601f198101835282611f80527f61024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611611fa0527f159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b9056611fc0527f5b6001600160e01b031990565b6001600160a01b031615905038611d15565b42611fe0527f9116101591503880611d0d565b908160209103126101ad575180151581036101612000527fad5790565b6001600160a01b0390911681526040602082018190526106bb9291612020527f0190611873565b611d963633611ff4565b611ebb57611daf6000356001600160612040527fe01b031916611121565b6001810154611dce906001600160a01b03165b600160612060527f0160a01b031690565b906001600160a01b03821615908115611e7f575b811561612080527f1e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b826120a0527f528180611e16363360048401611d6a565b03915afa90811561061857600091616120c0527f1e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b6120e0527f810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ff612100527ae96fa9a49a000000000000bd6ee9eec79ee216a9a46faf9a00000019612120527fffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081612140527f611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc612160527f368361138f565b610140928381013590601e19813603018212156101ad570193612180527f8435946001600160401b0386116101ad576020019385360385136101ad57611f6121a0527f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000806121c0527f5160206121718339815191525460501c60018060a01b031690565b92604051966121e0527f879586948593633a871cdd60e01b85526004850161147d565b03925af1908115612200527f61061857600091611f74575090565b6106bb915060203d811161094657610938612220527f818361024c565b600080516020612171833981519152546040805163199ed7c9612240527f60e11b8152600481019390935260248301529092602092849260501c60016001612260527f60a01b03169183918291611fde91604484019190611895565b03915afa908115612280527f61061857600091611f74575090565b60008051602061217183398151915254606122a0527f408051639ea9bd5960e01b81526001600160a01b0393841660048201526024816122c0527f019190915292602092849260501c169082908190611e169060448301906118736122e0527f565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88612300527f52587460408051338152346020820152a1565b600080516020612171833981516123205264ffffffffff66915280547fffff60c81b01612340527ae99faf6d6f6de49ffe9fafe49ffe9f0fe4fce96e6f6ee86faaa9a419612360527f8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c9256612380527f5b9250386120df565b8082186001600160a01b031615600114612109575050606123a0527f0190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b199283166123c0527f92811691908415612167575b81168015612160575b84811090851802808518946123e0527f14612158575b5081811190821802181790565b92503861214b565b508061213a612400527f565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa612420527f6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dc612440526aa30c7cf57e578a026d278960a81b612460526127a8816157ab565b600a8152694b65726e656c20322e3360b01b602082015273d3f582f6b4814e989ee8e96bc3175320b5a540ab3b61570657600080608051602060800182734e59b44847b379578588920ca78fbf26c0b4956c5af13d156156fe573d9061280d826157e9565b9161281b60405193846157c7565b82523d6000602084013e5b156155c057805160209091015173d3f582f6b4814e989ee8e96bc3175320b5a540ab916bffffffffffffffffffffffff199182811691601481106156e9575b5050905060601c0361555857600080916128bb603060405183612892829551809260208086019101615805565b81016f3a206465706c6f79656420617420257360801b60208201520360108101845201826157c7565b60405161290d816128e5602082019463319af33360e01b8652604060248401526064830190615828565b73d3f582f6b4814e989ee8e96bc3175320b5a540ab604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b6040518061254081011067ffffffffffffffff612540830111176156be57612540810160409081526125148252600060208301527f610160346200021a57601f620024b438819003918201601f1916830191600160818301527f0160401b038311848410176200021f57808492604094855283398101031262006060808401919091527f021a5780516001600160a01b039182821682036200021a57602001519182168060808401527f92036200021a57306080524660a05260a06200007a62000235565b600681526060a08401527f05602082016512d95c9b995b60d21b815260206200009c62000235565b83815260c08401527f019264302e322e3360d81b845251902091208160c0528060e052604051917f8b60e08401527f73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f836101008401527f52602083015260408201524660608201523060808201522091610100928352616101208401527f01209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b6101408401527f3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101608401527f6101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784856101808401527f8525d123ee7e976001808060a01b03198254161790556040519161225e9384626101a08401527e0256853960805184611c54015260a05184611c77015260c05184611ce901526101c08401527f60e05184611d0f01525183611c33015251828181610526015281816107e501526101e08401527f81816108f201528181610a7d01528181610b9e01528181610d3d01528181610d6102008401527fa701528181610f50015281816110f4015281816111ec0152818161129c0152816102208401527f81611345015261169a015251818181610eee0152610fb10152f35b600080fd5b6102408401527f634e487b7160e01b600052604160045260246000fd5b604080519190820160016102608401527f600160401b038111838210176200021f5760405256fe608060405260043610156102808401527f61001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde036102a08401527f146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba6102c08401527f7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fc6102e08401527fd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e6103008401527f1b08121461019057806351166ba01461018b57806351945447146101865780636103208401527f54fd4d501461018157806355b14f501461017c57806357b750471461017757806103408401527f6384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168576103608401527f8063b68df16d14610163578063bc197c811461015e578063cdaea3ed146101596103808401527f578063d087d28814610154578063d1f578941461014f578063d54162211461016103a08401527f4a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f566103c08401527f5b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b616103e08401527f0d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a366104008401527f565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104208401527f6104b1565b61045e565b6103d1565b610352565b61031e565b600091031261016104408401527fcd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b606104608401527f01600160401b0381116101fb57604052565b6101d2565b6060810190811060016104808401527f600160401b038211176101fb57604052565b608081019081106001600160401b6104a08401527f038211176101fb57604052565b604081019081106001600160401b03821117616104c08401527f01fb57604052565b60c081019081106001600160401b038211176101fb5760406104e08401527f52565b90601f801991011681019081106001600160401b038211176101fb57606105008401527f4052565b6040519061029a8261021b565b565b604051906101608201828110606105208401527f01600160401b038211176101fb57604052565b604051906102c982610236565b6105408401527f600682526512d95c9b995b60d21b6020830152565b919082519283825260005b6105608401527f84811061030a575050826000602080949584010152601f8019910116010190566105808401527f5b6020818301810151848301820152016102e9565b346101cd576000366003196105a08401527f01126101cd5761034e61033a6102bc565b6040519182916020835260208301906105c08401527f6102de565b0390f35b346101cd5760003660031901126101cd576020600080516105e08401527f602061221e8339815191525460501c6040519060018060a01b03168152f35b606106008401527f01600160a01b038116036101cd57565b359061029a82610388565b9181601f846106208401527f0112156101cd578235916001600160401b0383116101cd5760208381860195016106408401527f01116101cd57565b346101cd5760803660031901126101cd576103ed600435616106608401527f0388565b6103f8602435610388565b6064356001600160401b0381116101cd576106808401527f6104179036906004016103a4565b5050604051630a85bd0160e11b81526020906106a08401527ff35b9060406003198301126101cd5760043591602435906001600160401b03826106c08401527f116101cd5761045a916004016103a4565b9091565b346101cd576020610477616106e08401527f04713661042b565b91611d45565b6040516001600160e01b03199091168152f36107008401527f5b600435906001600160e01b0319821682036101cd57565b65ffffffffffff816107208401527f16036101cd57565b60c03660031901126101cd576104c561048a565b602435906107408401527f6104d282610388565b604435906104df82610388565b6064356104eb816104a16107608401527f565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576107808401527f6105179036906004016103a4565b9590946001600160a01b0393337f000000006107a084015263861614156107c08401527f8061064f575b61063d5784926105846105b09261057561056761028d565b65ff6107e08401527a6f6be97bada9a49a000000000000e99fdf7cfeada9a49ffe9ffe9f196108008401527fa01b03851660408201526001600160a01b03831660608201526105ab876112476108208401527f565b611941565b1693843b156101cd576040519063064acaab60e11b825281806108408401527f6105da6000998a94600484016119b1565b038183895af180156106385761061f6108608401527f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e6108808401527f29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c6106329261016108a08401527fe8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b816108c08401527f52600490fd5b503033141561054f565b346101cd57602061067261066c3661046108e08401527f2b565b91612136565b604051908152f35b9291926001600160401b03821161016109008401527ffb57604051916106a3601f8201601f19166020018461026c565b8294818452816109208401527f8301116101cd578281602093846000960137010152565b9080601f83011215616109408401527f01cd578160206106db9335910161067a565b90565b60208060031936011261016109608401527fcd576001600160401b036004358181116101cd57366023820112156101cd57806109808401527f60040135918083116101fb578260051b9060409081519461072c8785018761026109a08401527f6c565b85528585019160248094860101943686116101cd57848101935b8685106109c08401527f6107565761001b88611342565b84358481116101cd57820160606023198236036109e08401527f01126101cd5783519161077b83610200565b8782013561078881610388565b83610a008401527f5260448201358b8401526064820135928684116101cd576107b28c94938a8695610a208401527f369201016106c0565b86820152815201940193610746565b6020366003190112610a408401527f6101cd576004356107d981610388565b6001600160a01b0390337f0000000000610a60840152648316141580610a808401527f61085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc610aa08401527f3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214d610ac08401527fbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003610ae08401527f196060368201126101cd57600435906001600160401b0382116101cd57610160610b008401527f9082360301126101cd57610672602091604435906024359060040161168d565b610b208401527f346101cd5760203660031901126101cd576004356001600160c01b0381169081610b408401527f90036101cd57604051631aab3f0d60e11b815230600482015260248101919091610b6084015267526020816044817f60c01b610b80840152776001600160a01b03165afa80156106385761034e91600091610ba08401527f61093f575b506040519081529081906020820190565b610960915060203d8111610bc08401527f610966575b610958818361026c565b8101906115a2565b3861092e565b503d61610be08401527f094e565b346101cd5760203660031901126101cd5761034e6109b261098c6104610c008401527f8a565b6000606060405161099c8161021b565b82815282602082015282604082610c208401527f01520152611247565b604051906109bf8261021b565b805465ffffffffffff80610c408401527f821684528160301c16602084015260601c60408301526001808060a01b039101610c608401527f54166060820152604051918291829190916060608082019365ffffffffffff80610c808401527f825116845260208201511660208401528160018060a01b039182604082015116610ca08401527f6040860152015116910152565b60803660031901126101cd57600435610a4e81610cc08401527f610388565b6044356001600160401b0381116101cd57610a6d90369060040161610ce08401527206c0565b9060643560028110156101cd57337f60681b610d008401526c6001600160a01b031614158061610d208401527f0b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193610d408401527f926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b610d608401527f6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590610d808401527f565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005610da08401527f825264302e322e3360d81b6020830152565b346101cd57600036600319011261610dc08401527f01cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b610de08401527f7081610388565b91602435906001600160401b0382116101cd5761045a916004610e0084015273016103a4565b610b9836610b57565b505050337f60601b610e208401526b6001600160a01b0316141580610e408401527f610c09575b61063d5760405162461bcd60e51b815260206004820152600f6024610e608401527f8201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b610e808401527f5030331415610bce565b346101cd5760003660031901126101cd576020600080610ea08401527f51602061221e8339815191525460e01b6040519063ffffffff60e01b168152f3610ec08401527f5b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610ee08401527f610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260610f008401527fe08601906102de565b9084820360408601526102de565b904660608401523060610f208401527f80840152600060a084015282820360c084015280606051928381520191608091610f408401527f60005b828110610cdb57505050500390f35b8351855286955093810193928101610f608401527f92600101610ccc565b346101cd5760003660031901126101cd57602060008051610f808401527f602061221e8339815191525465ffffffffffff60405191831c168152f35b3461610fa08401527201cd5760003660031901126101cd576040517f60681b610fc08401526c6001600160a01b031681526020610fe08401527f90f35b60403660031901126101cd57600435610d8481610388565b60243560016110008401527f600160401b0381116101cd57610da39036906004016106c0565b90337f000000611020840152626001606110408401527f0160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260206110608401527f8394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5566110808401527f5b610ddd565b5030331415610dd7565b9181601f840112156101cd57823591606110a08401527f01600160401b0383116101cd576020808501948460051b0101116101cd57565b6110c08401527f346101cd5760a03660031901126101cd57610e65600435610388565b610e70606110e08401527f2435610388565b6001600160401b036044358181116101cd57610e90903690606111008401527f0401610e19565b50506064358181116101cd57610eaa903690600401610e19566111208401527f5b50506084359081116101cd57610ec49036906004016103a4565b50506040516111408401527f63bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd57611160840152636040517f60e01b6111808401527b6001600160a01b03168152602090f35b346101cd57600036600319016111a08401527f126101cd57604051631aab3f0d60e11b815230600482015260006024820152606111c08401526520816044817f60d01b6111e0840152796001600160a01b03165afa80156106385761034e9160009161096112008401527f3f57506040519081529081906020820190565b610fa536610b57565b91600160611220840152660160a01b03907f60c81b6112408401527882169082160361108d5760008051602061223e8339815191526112608401527f541661103c5761100861100261001b9361100e936113e0565b906118c7565b606112808401527f601c90565b60008051602061223e83398151915280546001600160a01b0319166112a08401527f6001600160a01b03909216919091179055565b60405162461bcd60e51b8152606112c08401527f2060048201526024808201527f4b65726e656c4c69746545434453413a20616c6112e08401527f726561647920696e697469616c6044820152631a5e995960e21b6064820152606113008401527f8490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b6113208401527f65726e656c4c69746545434453413a20696e76616c69642076616c69646174606113408401527f448201526137b960f11b6064820152608490fd5b60203660031901126101cd57611360840152696110f161048a565b337f60b01b611380840152756001600160a01b0316141580611165575b61063d57606113a08401527e8051602061221e83398151915290815469ffffffffffff000000004260201b6113c08401527f169160e01c9069ffffffffffffffffffff191617179055600080f35b503033146113e08401527f15611124565b346101cd5760a03660031901126101cd5761118b6004356103886114008401527f565b611196602435610388565b6084356001600160401b0381116101cd5761116114208401527fb59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b6114408401527f60203660031901126101cd576004356111e181610388565b6001600160a01b0361146084015261337f60f01b6114808401527d821614158061123d575b61063d5760008051602061223e833981519152806114a08401527f546001600160a01b03191691909216179055005b5030331415611215565b63ff6114c08401527fffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6114e08401527f6802968a5b3694c53e0dda602052604060002090565b60006112958135600160611500840152710160e01b031916611247565b5460601c337f60701b6115208401526d6001600160a01b031614158061126115408401527fe9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b6115608401527f506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e06115808401527f1b600052602160045260246000fd5b805182101561132c5760209160051b01016115a08401527f90565b634e487b7160e01b600052603260045260246000fd5b337f00000000006115c08401526460016001606115e08401527fa01b03161415806113cf575b61063d5780519060005b82811061138b575050506116008401527f565b6000806113988385611318565b5180516001600160a01b031660209160406116208401527f838201519101519283519301915af13d6000803e156113ca5760010161137f566116408401527f5b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd57906116608401527f601490565b906004116101cd5790600490565b90929192836004116101cd57836116808401527f116101cd57600401916003190190565b906024116101cd5760100190601490566116a08401527f5b906058116101cd5760380190602090565b906024116101cd576004019060206116c08401527f90565b906038116101cd5760240190601490565b90600a116101cd57600401906116e08401527f600690565b906010116101cd57600a0190600690565b909392938483116101cd6117008401527f5784116101cd578101920390565b6001600160e01b03199035818116939260046117208401527f81106114b457505050565b60040360031b82901b16169150565b9190610160836117408401527f8203126101cd576114d861029c565b926114e281610399565b845260208101356117608401527f60208501526040810135916001600160401b03928381116101cd5781611510916117808401527f84016106c0565b604086015260608201358381116101cd578161152d918401616117a08401527f06c0565b60608601526080820135608086015260a082013560a086015260c0826117c08401527f013560c086015260e082013560e08601526101008083013590860152610120806117e08401527f8301358481116101cd578261157f9185016106c0565b908601526101409283836118008401527f01359081116101cd5761159c92016106c0565b90830152565b908160209103126118208401527f6101cd575190565b606080825282516001600160a01b031690820152919392916118408401527f6040916116779060208101516080840152838101516115f6610160918260a0876118608401527f01526101c08601906102de565b90611664611616606085015193605f199485896118808401527f83030160c08a01526102de565b608085015160e088015260a0850151926101006118a08401527f938489015260c08601519061012091828a015260e08701519461014095868b016118c08401527f528701519089015285015184888303016101808901526102de565b92015190846118e08401527f8303016101a08501526102de565b9460208201520152565b6040513d6000823e6119008401526f3d90fd5b6001600160a01b039392917f60801b6119208401526f851633036118b55760049485359283616119408401527f014481013501918760248401930135946116ec6116e687866113ee565b9061146119608401527f97565b926001600160e01b03198085169182156118885761170b9036906114c36119808401527f565b9461172560008051602061221e8339815191525460e01b90565b161615616119a08401527f173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103616119c08401527f1837575090602095966117c761179561177c6117776116e687606460009901356119e08401527f0160248782013591016113ee565b611247565b6001810154909a908190600160611a008401527f0160a01b0316986113fc565b995460d081901b6001600160d01b031916607091611a208401527f90911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101611a408401527f408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1611a608401527f565b0393165af1908115610638576106db92600092611809575b5061219b565b611a808401527f61182291925060203d811161096657610958818361026c565b9038611803565b611aa08401527f348080808f335af1506117c0565b9095939190600160e11b0361187b57611871611ac08401527f6117c79460009361186c6116e68a606460209c01350160248d82013591016113611ae08401527fee565b6119d9565b91999296916117ba565b5050505050505050600190565b97611b008401527f50505050505050916106db939450806118a3575b5061203e565b349034903490611b208401527f3490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bff611b4084015274e66fca7e7ee96c6d9feb7eef9ee716a8afafafa9a419611b608401527f60140360031b82901b16169150565b359060208110611906575090565b600019611b808401527f9060200360031b1b1690565b6001600160d01b03199035818116939260068110611ba08401527f61193257505050565b60060360031b82901b16169150565b8151602083015160611bc08401527f4084015160309190911b6bffffffffffff0000000000001665ffffffffffff92611be08401527f90921691909117606091821b6bffffffffffffffffffffffff19161782559091611c008401527f015160019190910180546001600160a01b0319166001600160a01b0392909216611c208401527f919091179055565b909180604093602084528160208501528484013760008282611c408401527f01840152601f01601f1916010190565b91906119e58282611419565b6119ee91611c608401527f6118c7565b60601c936119fc838361142a565b611a05916118f8565b60588301611c808401527f6078820194858360580190611a1f91838861147f565b611a28916118f8565b61611ca08401527f1a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e91611cc08401527f6118c7565b60601c611a5c36878761067a565b8051602091820120604080517f611ce08401527f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee964176611d008401527f9381019384526001600160e01b03198e16918101919091526060810194909452611d208401527f6001600160a01b0392909216608084015260a08084019290925290825290611a611d408401527fd260c08261026c565b519020611ade90611c31565b9084019660788801611af1611d608401527f91848961147f565b90611afb92612136565b611b05828761143b565b60016001611d808401527f60a01b031991611b1991906118f8565b16611b239161219b565b966078868801611da08401527f019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611dc08401527f611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c56611de08401527f5b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b611e008401527f60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff16611e208401527f60208501526001600160a01b031660408401526001600160a01b031660608301611e408401527f52611bd390611247565b90611bdd91611941565b6001600160a01b0387169182611e608401527f3b156101cd57611c13926000928360405180968195829463064acaab60e11b84611e808401527f52600484016119b1565b03925af1801561063857611c245750565b8061062c61611ea084015268029a926101e8565b7f60b81b611ec0840152607f60b01b611ee08401526230147f60981b611f008401527246141615611cbe575b67190100000000000060611f208401527e52601a52603a526042601820906000603a52565b5060a06040517f8b73c3c6611f408401527f9bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f00611f60840152611f8083015264208201527f60d81b611fa08301527a604082015246606082015230608082015220611c9f565b91611e04611fc08301527f91611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b9060208151611fe08301527f91012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc6120008301527f4cf759cc79239f7b179b0ffacaa9a75d522b39400f84526040830152606082016120208301527f524660808201523060a082015260a08152611dc381610251565b5190209260406120408301527f51928391602083019586909160429261190160f01b83526002830152602282016120608301527f520190565b03601f19810183528261026c565b519020612136565b612015565b6120808301527f9065ffffffffffff928342911611159283611e56575b505081611e44575b50156120a08301527f611e3857630b135d3f60e11b90565b6001600160e01b031990565b60016001606120c08301527fa01b031615905038611e27565b429116101591503880611e1f565b90816020916120e08301527f03126101cd575180151581036101cd5790565b6001600160a01b0390911681526121008301527f60406020820181905281018290526060918060008484013760008282018401526121208301527f601f01601f1916010190565b60008051602061223e83398151915254600160016121408301527f60a01b039081163314611fde57611eeb6000356001600160e01b0319166112476121608301527f565b60018101546001600160a01b031691821615908115611fa2575b8115611f6121808301527f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82526121a08301527f8180611f39363360048401611e7c565b03915afa90811561063857600091611f6121c08301527f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b816121e08301527f0190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffff6122008301527fffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffff6122208301527fffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081616122408301527f1fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d6122608301527f370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874604080516122808301527f338152346020820152a1565b8065ffffffffffff91828160a01c1692831560016122a08301527f14612036575b5060d01c92565b92503861202f565b9061206e906020527b19456122c08301527f7468657265756d205369676e6564204d6573736167653a0a3332600052603c606122e08301527f042090565b9061014081013590601e19813603018212156101cd5701908135916123008301527f6001600160401b0383116101cd576020019180360383136101cd576117c081616123208301527f20b5926120bb956113fc565b906120e7565b60008051602061223e83398151916123408301527f52546001600160a01b039081169116036120e257600090565b600190565b60016123608301527f608060006041602094969596604080519880519285526060810151851a8852876123808301527f81015182520151606052145afa51913d15612128576000606052604052565b636123a08301527f8baa579f6000526004601cfd5b6020527b19457468657265756d205369676e656123c08301527f64204d6573736167653a0a3332600052603c60042061216f92916120b59192366123e08301527f9161067a565b60008051602061223e833981519152546001600160a01b0391826124008301527f1691161461219657600190565b600090565b8082186001600160a01b031615606124208301527f01146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffff6124408301527fffff60a01b1992831692811691908415612214575b8116801561220d575b84816124608301527f10908518028085189414612205575b5081811190821802181790565b925038616124808301527f21f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc06124a08301527fb827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb6124c0830152731babf326b8944488db560784858525d123ee7e9760601b6124e0830152735ff137d4b0fdcd49dca30c7cf57e578a026d278960601b612500830152730d9ab5096a832b9ce79914329daee236f8eea03960641b6125208301525190615404826157ab565b600f9081835260208301906e4b65726e656c204c69746520322e3360881b825273482ec42e88a781485e1b6a4f07a0c5479d18329192833b1560001461561b57506000816020829351910182734e59b44847b379578588920ca78fbf26c0b4956c5af13d15615613573d90615478826157e9565b9161548660405193846157c7565b82523d6000602084013e5b156155c057805160209091015183916bffffffffffffffffffffffff199182811691601481106155ab575b5050905060601c036155585760006128926154e96030604096849588519485925180926020850190615805565b845161552581615511602082019463319af33360e01b86528960248401526064830190615828565b87604483015203601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa505b81519073d3f582f6b4814e989ee8e96bc3175320b5a540ab82526020820152f35b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a2061646472657373206d69736044820152640dac2e8c6d60db1b6064820152608490fd5b8391925060140360031b1b16168038806154bc565b60405162461bcd60e51b815260206004820152602560248201527f44657465726d696e69737469634465706c6f793a206661696c656420746f206460448201526465706c6f7960d81b6064820152608490fd5b606090615491565b9150506040519260005b8281106156d457505050710e88185b1c9958591e4819195c1b1bde595960721b602f83015260218252606082019180831067ffffffffffffffff8411176156be57600080918460409586526156a8608083019263104c13eb60e21b84526020608482015261569660a4820182615828565b03607f1981018352605f1901826157c7565b51906a636f6e736f6c652e6c6f675afa50615537565b634e487b7160e01b600052604160045260246000fd5b80602080928401015182828801015201615625565b8391925060140360031b1b1616803880612865565b606090612826565b6040519060005b600a8110615791575050600081710e88185b1c9958591e4819195c1b1bde595960721b602a83940152601c8152615743816157ab565b60405161577b8161576d602082019463104c13eb60e21b8652602060248401526044830190615828565b03601f1981018352826157c7565b51906a636f6e736f6c652e6c6f675afa5061291f565b8060208092840101518282860101520161570d565b600080fd5b6040810190811067ffffffffffffffff8211176156be57604052565b90601f8019910116810190811067ffffffffffffffff8211176156be57604052565b67ffffffffffffffff81116156be57601f01601f191660200190565b60005b8381106158185750506000910152565b8181015183820152602001615808565b9060209161584181518092818552858086019101615805565b601f01601f191601019056", - "nonce": "0x0", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0xf2137", - "value": "0x0", - "data": "0x00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", - "nonce": "0x1", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x07c800d20517dcd65b854823f3c09d386751e7d79fd10fcb25a4710128fc02df", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x6e303", - "value": "0x0", - "data": "0x000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056", - "nonce": "0x2", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfe303b729b1f0821ebd3987afd261d35441ba3f365643e3088d1f2f4be0c2095", - "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x1a280a", - "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056", - "nonce": "0x3", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xc847a38d16f4c0237e503ee7a89018a4f9bc32d346d8edc7a2d74cd9da430e35", + "hash": "0xb8918b92c59a4c7294002ff46ff4c6f185b79d3bc9a99cff33941cfe4a60c5bb", "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5", + "contractName": "Kernel", + "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x293c83", + "gas": "0x2b4047", "value": "0x0", - "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", - "nonce": "0x4", + "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0xb", "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x7baf672ff22632c02dbaf58c3aaf660c1f8a61a418e07af12ea59ed1189e11eb", + "hash": "0xf5c4b0dab9934e17aa83b5b2b38d038682e0754f0ca3b6db2bc5e3aa888496a8", "transactionType": "CREATE2", - "contractName": "DeterministicDeploy", - "contractAddress": "0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96", + "contractName": "KernelLiteECDSA", + "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", "function": null, "arguments": null, "transaction": { "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x285e72", - "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", - "nonce": "0x5", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xebe58b15e4224b2bb444744b8681836d827ad367a5888c3513d0d0e9bd603948", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", - "value": "0x0", - "data": "0xbb30a9740000000000000000000000000da6a956b9488ed4dd761e59f52fdc6c8068e6b50000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x6", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x5c34019256d9017d06c72a98c95d3e0fedba86c500c9bc1e26c7179f8dfc9e21", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", - "value": "0x0", - "data": "0xbb30a974000000000000000000000000bedb61be086f3f15ee911cc9ab3eea945debfa960000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x7", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xfa38124dd04b111e1e181c702c8a4eb7baec7f2b500f8dd6b6605778c416378c", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", - "value": "0x0", - "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x8", - "accessList": [] - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x09a2dce0c95a4afbbe8f92e7224ca94addc65a4b3d437382a7f6f786c6fbad1a", - "transactionType": "CALL", - "contractName": "DeterministicDeploy", - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x02", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", + "gas": "0x2cc255", "value": "0x0", - "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x9", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", + "nonce": "0xc", "accessList": [] }, "additionalContracts": [], @@ -201,94 +43,14 @@ ], "receipts": [ { - "transactionHash": "0xbd5adf2f4509fcf978b30e972686f40649e44f503fdcf5dcea26ba3f74175af8", + "transactionHash": "0xb8918b92c59a4c7294002ff46ff4c6f185b79d3bc9a99cff33941cfe4a60c5bb", "transactionIndex": "0x1", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": null, - "cumulativeGasUsed": "0x4c0d45", - "gasUsed": "0x4b5604", - "contractAddress": "0xc49Adf765e12a82A490580Ed7a47513eAF2f5EF8", - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" - }, - { - "transactionHash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", - "transactionIndex": "0x2", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x566658", - "gasUsed": "0xa5913", - "contractAddress": null, - "logs": [ - { - "address": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "topics": [ - "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "0x0000000000000000000000000000000000000000000000000000000000000000", - "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a" - ], - "data": "0x", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "transactionHash": "0xebb290e864a79da20314604f8a71372dd96012dd1f6887adc0079a99302970f0", - "transactionIndex": "0x2", - "logIndex": "0x0", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000200000000020000000000000000000800000000000000000000000000000000400000000000000000000000000080000000000000000000000000080000000000001000100000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" - }, - { - "transactionHash": "0x07c800d20517dcd65b854823f3c09d386751e7d79fd10fcb25a4710128fc02df", - "transactionIndex": "0x3", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x5b630e", - "gasUsed": "0x4fcb6", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" - }, - { - "transactionHash": "0xfe303b729b1f0821ebd3987afd261d35441ba3f365643e3088d1f2f4be0c2095", - "transactionIndex": "0x4", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x6e5438", - "gasUsed": "0x12f12a", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" - }, - { - "transactionHash": "0xc847a38d16f4c0237e503ee7a89018a4f9bc32d346d8edc7a2d74cd9da430e35", - "transactionIndex": "0x5", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", + "blockHash": "0x0be761874fa050462bb3767bd832f12d8532ed1f5c12f68cc75209a755199300", + "blockNumber": "0x41b7cf", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x8a887b", - "gasUsed": "0x1c3443", + "cumulativeGasUsed": "0x1e4c47", + "gasUsed": "0x1d9506", "contractAddress": null, "logs": [], "status": "0x1", @@ -297,78 +59,14 @@ "effectiveGasPrice": "0xb2d05efe" }, { - "transactionHash": "0x7baf672ff22632c02dbaf58c3aaf660c1f8a61a418e07af12ea59ed1189e11eb", - "transactionIndex": "0x6", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", + "transactionHash": "0xf5c4b0dab9934e17aa83b5b2b38d038682e0754f0ca3b6db2bc5e3aa888496a8", + "transactionIndex": "0x2", + "blockHash": "0x0be761874fa050462bb3767bd832f12d8532ed1f5c12f68cc75209a755199300", + "blockNumber": "0x41b7cf", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0xa7c4a5", - "gasUsed": "0x1d3c2a", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" - }, - { - "transactionHash": "0xebe58b15e4224b2bb444744b8681836d827ad367a5888c3513d0d0e9bd603948", - "transactionIndex": "0x7", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xa87a07", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" - }, - { - "transactionHash": "0x5c34019256d9017d06c72a98c95d3e0fedba86c500c9bc1e26c7179f8dfc9e21", - "transactionIndex": "0x8", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xa92f69", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" - }, - { - "transactionHash": "0xfa38124dd04b111e1e181c702c8a4eb7baec7f2b500f8dd6b6605778c416378c", - "transactionIndex": "0x9", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xa9e4cb", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "type": "0x2", - "effectiveGasPrice": "0xb2d05efe" - }, - { - "transactionHash": "0x09a2dce0c95a4afbbe8f92e7224ca94addc65a4b3d437382a7f6f786c6fbad1a", - "transactionIndex": "0xa", - "blockHash": "0x073dff26132f1e1f10e708350195fa6ab16144f826b4be651fdb5425c9ed176f", - "blockNumber": "0x33d80a", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0xaa9a2d", - "gasUsed": "0xb562", + "cumulativeGasUsed": "0x3ce959", + "gasUsed": "0x1e9d12", "contractAddress": null, "logs": [], "status": "0x1", @@ -377,13 +75,11 @@ "effectiveGasPrice": "0xb2d05efe" } ], - "libraries": [ - "scripts/deterministic/Kernel2_3.s.sol:Kernel_2_3_Deploy:0xc49adf765e12a82a490580ed7a47513eaf2f5ef8" - ], + "libraries": [], "pending": [], "returns": {}, - "timestamp": 1702563577, + "timestamp": 1704382083, "chain": 84532, "multi": false, - "commit": "beee4e1" + "commit": "cc00ca6" } \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/11155420/run-1704381598.json b/broadcast/StakeToFactory.s.sol/11155420/run-1704381598.json new file mode 100644 index 00000000..1bd17053 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/11155420/run-1704381598.json @@ -0,0 +1,36 @@ +{ + "transactions": [ + { + "hash": "0xea72999dc04efa32a4bb1f84d3806c05110a7d3882e2831a0ceb381b223008e8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "addStake(uint32)", + "arguments": [ + "86400" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x1da96", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xea72999dc04efa32a4bb1f84d3806c05110a7d3882e2831a0ceb381b223008e8" + ], + "returns": {}, + "timestamp": 1704381598, + "chain": 11155420, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/11155420/run-1704381605.json b/broadcast/StakeToFactory.s.sol/11155420/run-1704381605.json new file mode 100644 index 00000000..c2313501 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/11155420/run-1704381605.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0xea72999dc04efa32a4bb1f84d3806c05110a7d3882e2831a0ceb381b223008e8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "addStake(uint32)", + "arguments": [ + "86400" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x1da96", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xea72999dc04efa32a4bb1f84d3806c05110a7d3882e2831a0ceb381b223008e8", + "transactionIndex": "0x1", + "blockHash": "0xd6bcd4cb3a478739894ee7be0d76d9c2a364ce53e7fb30ac121fc8a7ac6d089d", + "blockNumber": "0x5ff87a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x23e82", + "gasUsed": "0x14481", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0xd6bcd4cb3a478739894ee7be0d76d9c2a364ce53e7fb30ac121fc8a7ac6d089d", + "blockNumber": "0x5ff87a", + "transactionHash": "0xea72999dc04efa32a4bb1f84d3806c05110a7d3882e2831a0ceb381b223008e8", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704381605, + "chain": 11155420, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/11155420/run-latest.json b/broadcast/StakeToFactory.s.sol/11155420/run-latest.json new file mode 100644 index 00000000..c2313501 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/11155420/run-latest.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0xea72999dc04efa32a4bb1f84d3806c05110a7d3882e2831a0ceb381b223008e8", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "addStake(uint32)", + "arguments": [ + "86400" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x1da96", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xea72999dc04efa32a4bb1f84d3806c05110a7d3882e2831a0ceb381b223008e8", + "transactionIndex": "0x1", + "blockHash": "0xd6bcd4cb3a478739894ee7be0d76d9c2a364ce53e7fb30ac121fc8a7ac6d089d", + "blockNumber": "0x5ff87a", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x23e82", + "gasUsed": "0x14481", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0xd6bcd4cb3a478739894ee7be0d76d9c2a364ce53e7fb30ac121fc8a7ac6d089d", + "blockNumber": "0x5ff87a", + "transactionHash": "0xea72999dc04efa32a4bb1f84d3806c05110a7d3882e2831a0ceb381b223008e8", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efc" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704381605, + "chain": 11155420, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/84532/run-1704382117.json b/broadcast/StakeToFactory.s.sol/84532/run-1704382117.json new file mode 100644 index 00000000..cba1d405 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/84532/run-1704382117.json @@ -0,0 +1,36 @@ +{ + "transactions": [ + { + "hash": "0xf4ed1a3663affc6a439b4b720bc237b4b84808952ecc3e1de2784dc6416bbd96", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "addStake(uint32)", + "arguments": [ + "86400" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x1da96", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xf4ed1a3663affc6a439b4b720bc237b4b84808952ecc3e1de2784dc6416bbd96" + ], + "returns": {}, + "timestamp": 1704382117, + "chain": 84532, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/84532/run-1704382124.json b/broadcast/StakeToFactory.s.sol/84532/run-1704382124.json new file mode 100644 index 00000000..36bb4e50 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/84532/run-1704382124.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0xf4ed1a3663affc6a439b4b720bc237b4b84808952ecc3e1de2784dc6416bbd96", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "addStake(uint32)", + "arguments": [ + "86400" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x1da96", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf4ed1a3663affc6a439b4b720bc237b4b84808952ecc3e1de2784dc6416bbd96", + "transactionIndex": "0x1", + "blockHash": "0x61f4c0bf7e765b73f4ff961a749ba114374a453caf2bccf57de72b09b5c1bca8", + "blockNumber": "0x41b7e3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1fbc2", + "gasUsed": "0x14481", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0x61f4c0bf7e765b73f4ff961a749ba114374a453caf2bccf57de72b09b5c1bca8", + "blockNumber": "0x41b7e3", + "transactionHash": "0xf4ed1a3663affc6a439b4b720bc237b4b84808952ecc3e1de2784dc6416bbd96", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704382124, + "chain": 84532, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/broadcast/StakeToFactory.s.sol/84532/run-latest.json b/broadcast/StakeToFactory.s.sol/84532/run-latest.json new file mode 100644 index 00000000..36bb4e50 --- /dev/null +++ b/broadcast/StakeToFactory.s.sol/84532/run-latest.json @@ -0,0 +1,66 @@ +{ + "transactions": [ + { + "hash": "0xf4ed1a3663affc6a439b4b720bc237b4b84808952ecc3e1de2784dc6416bbd96", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "addStake(uint32)", + "arguments": [ + "86400" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x1da96", + "value": "0x16345785d8a0000", + "data": "0x0396cb600000000000000000000000000000000000000000000000000000000000015180", + "nonce": "0xd", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xf4ed1a3663affc6a439b4b720bc237b4b84808952ecc3e1de2784dc6416bbd96", + "transactionIndex": "0x1", + "blockHash": "0x61f4c0bf7e765b73f4ff961a749ba114374a453caf2bccf57de72b09b5c1bca8", + "blockNumber": "0x41b7e3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x1fbc2", + "gasUsed": "0x14481", + "contractAddress": null, + "logs": [ + { + "address": "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", + "topics": [ + "0xa5ae833d0bb1dcd632d98a8b70973e8516812898e19bf27b70071ebc8dc52c01", + "0x0000000000000000000000005de4839a76cf55d0c90e2061ef4386d962e15ae3" + ], + "data": "0x000000000000000000000000000000000000000000000000016345785d8a00000000000000000000000000000000000000000000000000000000000000015180", + "blockHash": "0x61f4c0bf7e765b73f4ff961a749ba114374a453caf2bccf57de72b09b5c1bca8", + "blockNumber": "0x41b7e3", + "transactionHash": "0xf4ed1a3663affc6a439b4b720bc237b4b84808952ecc3e1de2784dc6416bbd96", + "transactionIndex": "0x1", + "logIndex": "0x0", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000010000000800000000000000000000000000200000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000100000000000000000000000000000000000200000000000000000000000000", + "type": "0x2", + "effectiveGasPrice": "0xb2d05efe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1704382124, + "chain": 84532, + "multi": false, + "commit": "cc00ca6" +} \ No newline at end of file diff --git a/package.json b/package.json index 59361532..9b046639 100644 --- a/package.json +++ b/package.json @@ -4,8 +4,8 @@ "main": "./dist/index.js", "version": "4.0.0-beta.10", "scripts": { - "prepack": "./scripts/prepack-contracts-package.sh", - "postpack": "./scripts/postpack-contracts-package.sh" + "prepack": "./script/prepack-contracts-package.sh", + "postpack": "./script/postpack-contracts-package.sh" }, "devDependencies": { "@nomicfoundation/hardhat-foundry": "^1.0.0", diff --git a/scripts/DeployDeterministic.s.sol b/script/DeployDeterministic.s.sol similarity index 75% rename from scripts/DeployDeterministic.s.sol rename to script/DeployDeterministic.s.sol index 7325a635..16d91abd 100644 --- a/scripts/DeployDeterministic.s.sol +++ b/script/DeployDeterministic.s.sol @@ -18,14 +18,14 @@ contract DeployDeterministic is Script { ECDSAValidatorDeploy.deploy(); SessionKeyDeploy.deploy(); - (address k22, address k22lite) = Kernel_2_2_Deploy.deploy(); + //(address k22, address k22lite) = Kernel_2_2_Deploy.deploy(); - if(!factory.isAllowedImplementation(k22)) { - factory.setImplementation(k22, true); - } - if(!factory.isAllowedImplementation(k22lite)) { - factory.setImplementation(k22lite, true); - } + //if(!factory.isAllowedImplementation(k22)) { + // factory.setImplementation(k22, true); + //} + //if(!factory.isAllowedImplementation(k22lite)) { + // factory.setImplementation(k22lite, true); + //} (address k23, address k23lite) = Kernel_2_3_Deploy.deploy(); if(!factory.isAllowedImplementation(k23)) { diff --git a/scripts/DeployECDSAValidator.s.sol b/script/DeployECDSAValidator.s.sol similarity index 100% rename from scripts/DeployECDSAValidator.s.sol rename to script/DeployECDSAValidator.s.sol diff --git a/scripts/DeployKernel.s.sol b/script/DeployKernel.s.sol similarity index 100% rename from scripts/DeployKernel.s.sol rename to script/DeployKernel.s.sol diff --git a/scripts/DeployKernelInitial.s.sol b/script/DeployKernelInitial.s.sol similarity index 100% rename from scripts/DeployKernelInitial.s.sol rename to script/DeployKernelInitial.s.sol diff --git a/scripts/DeployKillSwitch.s.sol b/script/DeployKillSwitch.s.sol similarity index 100% rename from scripts/DeployKillSwitch.s.sol rename to script/DeployKillSwitch.s.sol diff --git a/scripts/DeployMulticall.s.sol b/script/DeployMulticall.s.sol similarity index 100% rename from scripts/DeployMulticall.s.sol rename to script/DeployMulticall.s.sol diff --git a/scripts/DeployRecovery.s.sol b/script/DeployRecovery.s.sol similarity index 100% rename from scripts/DeployRecovery.s.sol rename to script/DeployRecovery.s.sol diff --git a/scripts/DeploySessionKey.s.sol b/script/DeploySessionKey.s.sol similarity index 100% rename from scripts/DeploySessionKey.s.sol rename to script/DeploySessionKey.s.sol diff --git a/scripts/DeployWeightedECDSA.s.sol b/script/DeployWeightedECDSA.s.sol similarity index 100% rename from scripts/DeployWeightedECDSA.s.sol rename to script/DeployWeightedECDSA.s.sol diff --git a/scripts/StakeToFactory.s.sol b/script/StakeToFactory.s.sol similarity index 100% rename from scripts/StakeToFactory.s.sol rename to script/StakeToFactory.s.sol diff --git a/scripts/deterministic/DeterministicDeploy.s.sol b/script/deterministic/DeterministicDeploy.s.sol similarity index 100% rename from scripts/deterministic/DeterministicDeploy.s.sol rename to script/deterministic/DeterministicDeploy.s.sol diff --git a/scripts/deterministic/ECDSAValidator.s.sol b/script/deterministic/ECDSAValidator.s.sol similarity index 100% rename from scripts/deterministic/ECDSAValidator.s.sol rename to script/deterministic/ECDSAValidator.s.sol diff --git a/scripts/deterministic/Factory.s.sol b/script/deterministic/Factory.s.sol similarity index 100% rename from scripts/deterministic/Factory.s.sol rename to script/deterministic/Factory.s.sol diff --git a/scripts/deterministic/Factory_old.s.sol b/script/deterministic/Factory_old.s.sol similarity index 100% rename from scripts/deterministic/Factory_old.s.sol rename to script/deterministic/Factory_old.s.sol diff --git a/scripts/deterministic/Kernel2_2.s.sol b/script/deterministic/Kernel2_2.s.sol similarity index 100% rename from scripts/deterministic/Kernel2_2.s.sol rename to script/deterministic/Kernel2_2.s.sol diff --git a/scripts/deterministic/Kernel2_3.s.sol b/script/deterministic/Kernel2_3.s.sol similarity index 99% rename from scripts/deterministic/Kernel2_3.s.sol rename to script/deterministic/Kernel2_3.s.sol index b13588d9..1bcf2928 100644 --- a/scripts/deterministic/Kernel2_3.s.sol +++ b/script/deterministic/Kernel2_3.s.sol @@ -9,7 +9,7 @@ library Kernel_2_3_Deploy { address constant EXPECTED_KERNEL_LITE_2_3_ADDRESS = 0x482EC42E88a781485E1B6A4f07a0C5479d183291; bytes constant KERNEL_LITE_2_3_CODE = hex"0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390"; - function deploy() public returns(address, address){ + function deploy() internal returns(address, address){ DeterministicDeploy.checkDeploy("Kernel 2.3", EXPECTED_KERNEL_2_3_ADDRESS, KERNEL_2_3_CODE); DeterministicDeploy.checkDeploy("Kernel Lite 2.3", EXPECTED_KERNEL_LITE_2_3_ADDRESS, KERNEL_LITE_2_3_CODE); return (EXPECTED_KERNEL_2_3_ADDRESS, EXPECTED_KERNEL_LITE_2_3_ADDRESS); diff --git a/scripts/deterministic/SessionKey.s.sol b/script/deterministic/SessionKey.s.sol similarity index 100% rename from scripts/deterministic/SessionKey.s.sol rename to script/deterministic/SessionKey.s.sol diff --git a/scripts/postpack-contracts-package.sh b/script/postpack-contracts-package.sh similarity index 100% rename from scripts/postpack-contracts-package.sh rename to script/postpack-contracts-package.sh diff --git a/scripts/prepack-contracts-package.sh b/script/prepack-contracts-package.sh similarity index 100% rename from scripts/prepack-contracts-package.sh rename to script/prepack-contracts-package.sh From c79d855f98dd8de7fd4dbf992affbbea6659b392 Mon Sep 17 00:00:00 2001 From: taek Date: Mon, 22 Jan 2024 15:00:57 +0900 Subject: [PATCH 25/51] Restructure - move plugin to separate repo (#70) * restructured to seprate plugins folder * removed via-ir based plugins, todo: remove all plugins to kernel-plugins --- .gitmodules | 6 - foundry.toml | 37 +- lib/FreshCryptoLib | 1 - lib/p256-verifier | 1 - script/DeployDeterministic.s.sol | 5 +- script/DeployECDSAValidator.s.sol | 7 +- script/DeployKernel.s.sol | 23 +- script/DeployKernelInitial.s.sol | 13 +- script/DeployKillSwitch.s.sol | 4 +- script/DeployMulticall.s.sol | 8 +- script/DeployRecovery.s.sol | 4 +- script/DeploySessionKey.s.sol | 5 +- script/DeployWeightedECDSA.s.sol | 4 +- script/StakeToFactory.s.sol | 4 +- .../deterministic/DeterministicDeploy.s.sol | 3 +- script/deterministic/ECDSAValidator.s.sol | 5 +- script/deterministic/Factory.s.sol | 8 +- script/deterministic/Factory_old.s.sol | 8 +- script/deterministic/Kernel2_2.s.sol | 10 +- script/deterministic/Kernel2_3.s.sol | 8 +- script/deterministic/SessionKey.s.sol | 6 +- src/validator/P256Validator.sol | 83 ----- .../stealthAddressValidator/EllipticCurve.sol | 328 ------------------ .../StealthAddressValidator.sol | 182 ---------- .../StealthAggreagteSignature.sol | 47 --- tasks/test_userOp.ts | 102 ------ test/foundry/validator/P256Validator.t.sol | 207 ----------- .../validator/StealthAddressValidator.t.sol | 311 ----------------- 28 files changed, 80 insertions(+), 1350 deletions(-) delete mode 160000 lib/FreshCryptoLib delete mode 160000 lib/p256-verifier delete mode 100644 src/validator/P256Validator.sol delete mode 100644 src/validator/stealthAddressValidator/EllipticCurve.sol delete mode 100644 src/validator/stealthAddressValidator/StealthAddressValidator.sol delete mode 100644 src/validator/stealthAddressValidator/StealthAggreagteSignature.sol delete mode 100644 tasks/test_userOp.ts delete mode 100644 test/foundry/validator/P256Validator.t.sol delete mode 100644 test/foundry/validator/StealthAddressValidator.t.sol diff --git a/.gitmodules b/.gitmodules index d2bb2da1..744ac54b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,9 +7,3 @@ [submodule "lib/I4337"] path = lib/I4337 url = https://github.com/leekt/I4337 -[submodule "lib/p256-verifier"] - path = lib/p256-verifier - url = https://github.com/daimo-eth/p256-verifier -[submodule "lib/FreshCryptoLib"] - path = lib/FreshCryptoLib - url = https://github.com/rdubois-crypto/FreshCryptoLib diff --git a/foundry.toml b/foundry.toml index b93f1c69..9757adcd 100644 --- a/foundry.toml +++ b/foundry.toml @@ -7,38 +7,11 @@ evm_version = 'paris' bytecode_hash = "none" cbor_metadata = false optimize = true -via-ir = true +via-ir = false runs = 1000000 -[fuzz] -runs = 1024 - -[etherscan] -mainnet = { key = "${ETHERSCAN_API_KEY}" } -goerli = { key = "${ETHERSCAN_API_KEY}" } -sepolia = { key = "${ETHERSCAN_API_KEY}" } - -polygon = { key = "${POLYGONSCAN_API_KEY}" } -mumbai = { key = "${POLYGONSCAN_API_KEY}" } - -base = { key = "${BASESCAN_API_KEY}" } -base-goerli = { key = "${BASESCAN_API_KEY}" } -base-sepolia = { key = "${BASESCAN_API_KEY}" } - -arbitrum = { key = "${ARBISCAN_API_KEY}" } -arbitrum-goerli = { key = "${ARBISCAN_API_KEY}" } -arbitrum-sepolia = { key = "${ARBISCAN_API_KEY}" } -optimism = { key = "${OPTIMISMSCAN_API_KEY}" } -optimism-goerli = { key = "${OPTIMISMSCAN_API_KEY}" } -optimism-sepolia = { key = "${OPTIMISMSCAN_API_KEY}" } - -avalanche = { key = "${AVALANCHE_API_KEY}" } -fuji = { key = "${AVALANCHE_API_KEY}" } - -linea = { key = "${LINEASCAN_API_KEY}" } -linea-testnet = { key = "${LINEASCAN_API_KEY}" } - -bsc = { key = "${BSCSCAN_API_KEY}" } -opbnb = { key = "${BSCSCAN_API_KEY}" } +[profile.deploy] +via-ir = true -# astar-testnet = { key = "${BSCSCAN_API_KEY}" } +[fuzz] +runs = 1024 diff --git a/lib/FreshCryptoLib b/lib/FreshCryptoLib deleted file mode 160000 index e2830cb5..00000000 --- a/lib/FreshCryptoLib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e2830cb5d7b0f6ae35b5800287c0f5c92388070b diff --git a/lib/p256-verifier b/lib/p256-verifier deleted file mode 160000 index 29475ae3..00000000 --- a/lib/p256-verifier +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 29475ae300ec95d98d5c7cc34c094846f0aa2dcd diff --git a/script/DeployDeterministic.s.sol b/script/DeployDeterministic.s.sol index 16d91abd..caae47ac 100644 --- a/script/DeployDeterministic.s.sol +++ b/script/DeployDeterministic.s.sol @@ -11,6 +11,7 @@ import "./deterministic/Kernel2_3.s.sol"; contract DeployDeterministic is Script { address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; + function run() external { vm.startBroadcast(DEPLOYER); KernelFactory factory = KernelFactory(payable(FactoryDeploy.deploy())); @@ -28,10 +29,10 @@ contract DeployDeterministic is Script { //} (address k23, address k23lite) = Kernel_2_3_Deploy.deploy(); - if(!factory.isAllowedImplementation(k23)) { + if (!factory.isAllowedImplementation(k23)) { factory.setImplementation(k23, true); } - if(!factory.isAllowedImplementation(k23lite)) { + if (!factory.isAllowedImplementation(k23lite)) { factory.setImplementation(k23lite, true); } vm.stopBroadcast(); diff --git a/script/DeployECDSAValidator.s.sol b/script/DeployECDSAValidator.s.sol index 89774599..ad57c0bf 100644 --- a/script/DeployECDSAValidator.s.sol +++ b/script/DeployECDSAValidator.s.sol @@ -4,15 +4,17 @@ import "src/factory/KernelFactory.sol"; import "src/validator/ECDSAValidator.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; + contract DeployKernel is Script { address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; address constant ENTRYPOINT_0_6 = 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789; address constant EXPECTED_VALIDATOR_ADDRESS = 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390; + function run() public { uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); vm.startBroadcast(key); - if(EXPECTED_VALIDATOR_ADDRESS.code.length == 0) { - ECDSAValidator validator = new ECDSAValidator{salt:0}(); + if (EXPECTED_VALIDATOR_ADDRESS.code.length == 0) { + ECDSAValidator validator = new ECDSAValidator{salt: 0}(); console.log("validator address: %s", address(validator)); } else { console.log("validator address: %s", EXPECTED_VALIDATOR_ADDRESS); @@ -20,4 +22,3 @@ contract DeployKernel is Script { vm.stopBroadcast(); } } - diff --git a/script/DeployKernel.s.sol b/script/DeployKernel.s.sol index 73d1737f..d46570bf 100644 --- a/script/DeployKernel.s.sol +++ b/script/DeployKernel.s.sol @@ -7,6 +7,7 @@ import "src/lite/KernelLiteECDSA.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; import "src/validator/ECDSAValidator.sol"; + contract DeployKernel is Script { address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; address constant ENTRYPOINT_0_6 = 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789; @@ -14,44 +15,44 @@ contract DeployKernel is Script { address constant EXPECTED_KERNEL_ADDRESS = 0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5; address constant EXPECTED_KERNEL_LITE_ADDRESS = 0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96; address payable constant EXPECTED_KERNEL_FACTORY_ADDRESS = payable(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3); + function run() public { uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); vm.startBroadcast(key); KernelFactory factory; - if(EXPECTED_KERNEL_FACTORY_ADDRESS.code.length == 0){ - factory = new KernelFactory{salt:0}(DEPLOYER, IEntryPoint(ENTRYPOINT_0_6)); + if (EXPECTED_KERNEL_FACTORY_ADDRESS.code.length == 0) { + factory = new KernelFactory{salt: 0}(DEPLOYER, IEntryPoint(ENTRYPOINT_0_6)); console.log("KernelFactory address: %s", address(factory)); } else { factory = KernelFactory(EXPECTED_KERNEL_FACTORY_ADDRESS); } - if(EXPECTED_KERNEL_LITE_ADDRESS.code.length == 0) { - if(address(ECDSAVALIDATOR).code.length == 0) { + if (EXPECTED_KERNEL_LITE_ADDRESS.code.length == 0) { + if (address(ECDSAVALIDATOR).code.length == 0) { console.log("ECDSAVALIDATOR NOT DEPLOYED"); } else { KernelLiteECDSA kernellite; - kernellite = new KernelLiteECDSA{salt:0}(IEntryPoint(ENTRYPOINT_0_6), IKernelValidator(ECDSAVALIDATOR)); + kernellite = new KernelLiteECDSA{salt: 0}(IEntryPoint(ENTRYPOINT_0_6), IKernelValidator(ECDSAVALIDATOR)); console.log("Kernel Lite address: %s", address(kernellite)); } } - if(factory.isAllowedImplementation(EXPECTED_KERNEL_LITE_ADDRESS) == false) { + if (factory.isAllowedImplementation(EXPECTED_KERNEL_LITE_ADDRESS) == false) { console.log("Registering kernellite implementation"); factory.setImplementation(EXPECTED_KERNEL_LITE_ADDRESS, true); } - if(EXPECTED_KERNEL_ADDRESS.code.length == 0) { + if (EXPECTED_KERNEL_ADDRESS.code.length == 0) { Kernel kernel; - kernel = new Kernel{salt:0}(IEntryPoint(ENTRYPOINT_0_6)); + kernel = new Kernel{salt: 0}(IEntryPoint(ENTRYPOINT_0_6)); console.log("Kernel address: %s", address(kernel)); } - if(factory.isAllowedImplementation(EXPECTED_KERNEL_ADDRESS) == false) { + if (factory.isAllowedImplementation(EXPECTED_KERNEL_ADDRESS) == false) { console.log("Registering kernel implementation"); factory.setImplementation(EXPECTED_KERNEL_ADDRESS, true); } IEntryPoint entryPoint = IEntryPoint(ENTRYPOINT_0_6); IStakeManager.DepositInfo memory info = entryPoint.getDepositInfo(address(factory)); - if(info.stake == 0) { + if (info.stake == 0) { console.log("Need to stake to factory"); } vm.stopBroadcast(); } } - diff --git a/script/DeployKernelInitial.s.sol b/script/DeployKernelInitial.s.sol index b18e5683..e4579bb1 100644 --- a/script/DeployKernelInitial.s.sol +++ b/script/DeployKernelInitial.s.sol @@ -7,17 +7,19 @@ import "src/lite/KernelLiteECDSA.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; import "src/validator/ECDSAValidator.sol"; + contract DeployKernelInitial is Script { address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; address constant ENTRYPOINT_0_6 = 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789; address constant ECDSAVALIDATOR = 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390; address payable constant EXPECTED_KERNEL_FACTORY_ADDRESS = payable(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3); + function run() public { uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); vm.startBroadcast(key); KernelFactory factory; - if(EXPECTED_KERNEL_FACTORY_ADDRESS.code.length == 0){ - factory = new KernelFactory{salt:0}(DEPLOYER, IEntryPoint(ENTRYPOINT_0_6)); + if (EXPECTED_KERNEL_FACTORY_ADDRESS.code.length == 0) { + factory = new KernelFactory{salt: 0}(DEPLOYER, IEntryPoint(ENTRYPOINT_0_6)); console.log("KernelFactory address: %s", address(factory)); } else { factory = KernelFactory(EXPECTED_KERNEL_FACTORY_ADDRESS); @@ -34,18 +36,17 @@ contract DeployKernelInitial is Script { // } //} Kernel kernel; - kernel = new Kernel{salt:0}(IEntryPoint(ENTRYPOINT_0_6)); + kernel = new Kernel{salt: 0}(IEntryPoint(ENTRYPOINT_0_6)); console.log("Kernel address: %s", address(kernel)); - if(factory.isAllowedImplementation(address(kernel)) == false) { + if (factory.isAllowedImplementation(address(kernel)) == false) { console.log("Registering kernel implementation"); factory.setImplementation(address(kernel), true); } IEntryPoint entryPoint = IEntryPoint(ENTRYPOINT_0_6); IStakeManager.DepositInfo memory info = entryPoint.getDepositInfo(address(factory)); - if(info.stake == 0) { + if (info.stake == 0) { console.log("Need to stake to factory"); } vm.stopBroadcast(); } } - diff --git a/script/DeployKillSwitch.s.sol b/script/DeployKillSwitch.s.sol index 217cc61b..48aa6df9 100644 --- a/script/DeployKillSwitch.s.sol +++ b/script/DeployKillSwitch.s.sol @@ -15,7 +15,7 @@ contract DeployKillSwitch is Script { KillSwitchValidator validator; if (EXPECTED_ADDRESS_KILL_SWITCH_VALIDATOR.code.length == 0) { console.log("deploying KillSwitchValidator"); - validator = new KillSwitchValidator{salt:0}(); + validator = new KillSwitchValidator{salt: 0}(); console.log("validator address: %s", address(validator)); } else { validator = KillSwitchValidator(EXPECTED_ADDRESS_KILL_SWITCH_VALIDATOR); @@ -23,7 +23,7 @@ contract DeployKillSwitch is Script { } if (EXPECTED_ADDRESS_KILL_SWITCH_ACTION.code.length == 0) { console.log("deploying KillSwitchAction"); - KillSwitchAction action = new KillSwitchAction{salt:0}(validator); + KillSwitchAction action = new KillSwitchAction{salt: 0}(validator); console.log("KillSwitchAction address: %s", address(action)); } else { console.log("KillSwitchAction address: %s", address(EXPECTED_ADDRESS_KILL_SWITCH_ACTION)); diff --git a/script/DeployMulticall.s.sol b/script/DeployMulticall.s.sol index b4b063b9..6f94e870 100644 --- a/script/DeployMulticall.s.sol +++ b/script/DeployMulticall.s.sol @@ -6,15 +6,17 @@ contract DeployMultiCall is Script { address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; address constant EXPECTED_MULTICALL_ADDRESS = 0x8ae01fCF7c655655fF2c6Ef907b8B4718Ab4e17c; address constant DETERMINISTIC_DEPLOYER = 0x4e59b44847b379578588920cA78FbF26c0B4956C; + function run() public { uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); vm.startBroadcast(key); - if(EXPECTED_MULTICALL_ADDRESS.code.length == 0) { - (bool success, bytes memory ret) = DETERMINISTIC_DEPLOYER.call(hex"000000000000000000000000000000000000000000000000000000000000000060a060405234801561001057600080fd5b50306080526080516102bd61002f6000396000604f01526102bd6000f3fe60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100366100313660046101b8565b610038565b005b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4d756c746953656e642073686f756c64206f6e6c792062652063616c6c65642060448201527f7669612064656c656761746563616c6c00000000000000000000000000000000606482015260840160405180910390fd5b805160205b81811015610184578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461014b576001811461015b57610166565b6000808585888a5af19150610166565b6000808585895af491505b508061017157600080fd5b5050806055018501945050505050610106565b505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156101ca57600080fd5b813567ffffffffffffffff808211156101e257600080fd5b818401915084601f8301126101f657600080fd5b81358181111561020857610208610189565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561024e5761024e610189565b8160405282815287602084870101111561026757600080fd5b82602086016020830137600092810160200192909252509594505050505056fea2646970667358221220aee0f2dd047c52784b9c7806e4078197141e146ec66587d8610576db5f8ad20e64736f6c634300080f0033"); + if (EXPECTED_MULTICALL_ADDRESS.code.length == 0) { + (bool success, bytes memory ret) = DETERMINISTIC_DEPLOYER.call( + hex"000000000000000000000000000000000000000000000000000000000000000060a060405234801561001057600080fd5b50306080526080516102bd61002f6000396000604f01526102bd6000f3fe60806040526004361061001e5760003560e01c80638d80ff0a14610023575b600080fd5b6100366100313660046101b8565b610038565b005b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610101576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603060248201527f4d756c746953656e642073686f756c64206f6e6c792062652063616c6c65642060448201527f7669612064656c656761746563616c6c00000000000000000000000000000000606482015260840160405180910390fd5b805160205b81811015610184578083015160f81c6001820184015160601c60158301850151603584018601516055850187016000856000811461014b576001811461015b57610166565b6000808585888a5af19150610166565b6000808585895af491505b508061017157600080fd5b5050806055018501945050505050610106565b505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156101ca57600080fd5b813567ffffffffffffffff808211156101e257600080fd5b818401915084601f8301126101f657600080fd5b81358181111561020857610208610189565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f0116810190838211818310171561024e5761024e610189565b8160405282815287602084870101111561026757600080fd5b82602086016020830137600092810160200192909252509594505050505056fea2646970667358221220aee0f2dd047c52784b9c7806e4078197141e146ec66587d8610576db5f8ad20e64736f6c634300080f0033" + ); } else { console.log("validator address: %s", EXPECTED_MULTICALL_ADDRESS); } vm.stopBroadcast(); } } - diff --git a/script/DeployRecovery.s.sol b/script/DeployRecovery.s.sol index 1fc502e5..dbf9683a 100644 --- a/script/DeployRecovery.s.sol +++ b/script/DeployRecovery.s.sol @@ -5,14 +5,14 @@ import "src/executor/RecoveryAction.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; -contract DeployRecovery is Script { +contract DeployRecovery is Script { function run() public { address deployer = vm.envAddress("DEPLOYER"); vm.startBroadcast(deployer); console.log("Deployer address: ", deployer); //RecoveryAction action = new RecoveryAction{salt:0}(); //console.log("Deploying RecoveryAction at address: ", address(action)); - WeightedECDSAValidator validator = new WeightedECDSAValidator{salt:0}(); + WeightedECDSAValidator validator = new WeightedECDSAValidator{salt: 0}(); console.log("Deploying WeightedECDSAValidator at address: ", address(validator)); vm.stopBroadcast(); } diff --git a/script/DeploySessionKey.s.sol b/script/DeploySessionKey.s.sol index c6a1daae..ae2f6129 100644 --- a/script/DeploySessionKey.s.sol +++ b/script/DeploySessionKey.s.sol @@ -3,15 +3,16 @@ pragma solidity ^0.8.0; import "src/validator/SessionKeyValidator.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; + contract DeploySessionKey is Script { address constant EXPECTED_ADDRESS = 0x5C06CE2b673fD5E6e56076e40DD46aB67f5a72A5; + function run() public { address deployer = vm.envAddress("DEPLOYER"); vm.startBroadcast(deployer); console.log("deploying SessionKeyValidator"); - SessionKeyValidator validator = new SessionKeyValidator{salt:0}(); + SessionKeyValidator validator = new SessionKeyValidator{salt: 0}(); console.log("validator address: %s", address(validator)); vm.stopBroadcast(); } } - diff --git a/script/DeployWeightedECDSA.s.sol b/script/DeployWeightedECDSA.s.sol index 5be69942..1e7e6d13 100644 --- a/script/DeployWeightedECDSA.s.sol +++ b/script/DeployWeightedECDSA.s.sol @@ -14,14 +14,14 @@ contract DeployWeightedECDSA is Script { vm.startBroadcast(key); if (EXPECTED_ADDRESS_WEIGHTED_ECDSA_VALIDATOR.code.length == 0) { console.log("deploying WeightedECDSAValidator"); - WeightedECDSAValidator validator = new WeightedECDSAValidator{salt:0}(); + WeightedECDSAValidator validator = new WeightedECDSAValidator{salt: 0}(); console.log("validator address: %s", address(validator)); } else { console.log("validator address: %s", address(EXPECTED_ADDRESS_WEIGHTED_ECDSA_VALIDATOR)); } if (EXPECTED_ADDRESS_RECOVERY_ACTION.code.length == 0) { console.log("deploying RecoveryAction"); - RecoveryAction action = new RecoveryAction{salt:0}(); + RecoveryAction action = new RecoveryAction{salt: 0}(); console.log("RecoveryAction address: %s", address(action)); } else { console.log("RecoveryAction address: %s", address(EXPECTED_ADDRESS_RECOVERY_ACTION)); diff --git a/script/StakeToFactory.s.sol b/script/StakeToFactory.s.sol index 62a0f976..4a80a611 100644 --- a/script/StakeToFactory.s.sol +++ b/script/StakeToFactory.s.sol @@ -4,17 +4,19 @@ import "src/factory/KernelFactory.sol"; import "I4337/interfaces/IStakeManager.sol"; import "forge-std/Script.sol"; import "forge-std/console.sol"; + contract StakeToFactory is Script { address constant DEPLOYER = 0x9775137314fE595c943712B0b336327dfa80aE8A; address constant ENTRYPOINT_0_6 = 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789; address payable constant EXPECTED_KERNEL_ADDRESS = payable(0xf048AD83CB2dfd6037A43902a2A5Be04e53cd2Eb); address payable constant EXPECTED_KERNEL_FACTORY_ADDRESS = payable(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3); + function run() public { vm.startBroadcast(DEPLOYER); KernelFactory factory = KernelFactory(EXPECTED_KERNEL_FACTORY_ADDRESS); IEntryPoint entryPoint = IEntryPoint(ENTRYPOINT_0_6); IStakeManager.DepositInfo memory info = entryPoint.getDepositInfo(address(factory)); - if(info.stake < 1e17) { + if (info.stake < 1e17) { factory.addStake{value: 1e17 - info.stake}(86400); } vm.stopBroadcast(); diff --git a/script/deterministic/DeterministicDeploy.s.sol b/script/deterministic/DeterministicDeploy.s.sol index 10ecdf96..53986845 100644 --- a/script/deterministic/DeterministicDeploy.s.sol +++ b/script/deterministic/DeterministicDeploy.s.sol @@ -4,8 +4,9 @@ import "forge-std/console.sol"; library DeterministicDeploy { address constant DETERMINISTIC_DEPLOYER = 0x4e59b44847b379578588920cA78FbF26c0B4956C; + function checkDeploy(string memory tag, address _expectedAddress, bytes memory _code) internal { - if(_expectedAddress.code.length == 0) { + if (_expectedAddress.code.length == 0) { (bool success, bytes memory addr) = DETERMINISTIC_DEPLOYER.call(_code); require(success, "DeterministicDeploy: failed to deploy"); require(address(bytes20(addr)) == _expectedAddress, "DeterministicDeploy: address mismatch"); diff --git a/script/deterministic/ECDSAValidator.s.sol b/script/deterministic/ECDSAValidator.s.sol index e235d477..a70f4df7 100644 --- a/script/deterministic/ECDSAValidator.s.sol +++ b/script/deterministic/ECDSAValidator.s.sol @@ -4,9 +4,10 @@ import "./DeterministicDeploy.s.sol"; library ECDSAValidatorDeploy { address constant EXPECTED_ECDSA_VALIDATOR_ADDRESS = 0xd9AB5096a832b9ce79914329DAEE236f8Eea0390; - bytes constant VALIDATOR_CODE = hex"000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056"; + bytes constant VALIDATOR_CODE = + hex"000000000000000000000000000000000000000000000000000000000000000060808060405234610016576104ee908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80630c959556146101d557806320709efc1461019b578063333daf921461015b5780633a871cdd1461010d578381638fc925aa146100c85750639ea9bd591461006457600080fd5b346100c457806003193601126100c45761007c610296565b9160243567ffffffffffffffff81116100c057936100a08392602096369101610263565b5050338152808552205490516001600160a01b0392831691909216148152f35b8480fd5b8280fd5b92905060203660031901126101095780359067ffffffffffffffff8211610104576100f591369101610263565b50503382528160205281205580f35b505050fd5b5050fd5b50600319836060368301126101545783359167ffffffffffffffff831161015757610160908336030112610154575060209261014d916024359101610348565b9051908152f35b80fd5b5080fd5b5082346101545781600319360112610154576024359067ffffffffffffffff8211610154575060209261019461014d9236908301610263565b9135610464565b838234610157576020366003190112610157576020916001600160a01b03908290826101c5610296565b1681528085522054169051908152f35b509060203660031901126100c45780359067ffffffffffffffff821161025f5761020191369101610263565b6014116100c4573560601c90338352826020528220805490826bffffffffffffffffffffffff60a01b831617905560018060a01b0316337f381c0d11398486654573703c51ee8210ce9461764d133f9f0e53b6a5397053318480a480f35b8380fd5b9181601f840112156102915782359167ffffffffffffffff8311610291576020838186019501011161029157565b600080fd5b600435906001600160a01b038216820361029157565b903590601e1981360301821215610291570180359067ffffffffffffffff82116102915760200191813603831361029157565b92919267ffffffffffffffff918281116103325760405192601f8201601f19908116603f011684019081118482101761033257604052829481845281830111610291578281602093846000960137010152565b634e487b7160e01b600052604160045260246000fd5b600092916001600160a01b039084833583811690819003610157578152806020528260408220541693826020527b19457468657265756d205369676e6564204d6573736167653a0a33328252603c60042091846103be6101408401946103b86103b187876102ac565b36916102df565b906103ee565b1686146103e557506103b16103d793926103b8926102ac565b16036103df57565b60019150565b96505050505050565b60207f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a19392608060405193838301516040526040830151928360605260416000988995869485526060840151851a885210915114165afa508251923d1561045757606052604052565b638baa579f90526004601cfd5b3360009081526020819052604081205490936001600160a01b03918216939192836104996104933685876102df565b836103ee565b1685146104e6576104d7926103b8916020527b19457468657265756d205369676e6564204d6573736167653a0a33328752603c6004209236916102df565b16036104e05790565b50600190565b50505050509056"; - function deploy() internal returns(address) { + function deploy() internal returns (address) { DeterministicDeploy.checkDeploy("ECDSAValidator", EXPECTED_ECDSA_VALIDATOR_ADDRESS, VALIDATOR_CODE); return EXPECTED_ECDSA_VALIDATOR_ADDRESS; } diff --git a/script/deterministic/Factory.s.sol b/script/deterministic/Factory.s.sol index 4cf5a078..471e2c1a 100644 --- a/script/deterministic/Factory.s.sol +++ b/script/deterministic/Factory.s.sol @@ -4,9 +4,11 @@ import "./DeterministicDeploy.s.sol"; library FactoryDeploy { address payable constant EXPECTED_KERNEL_FACTORY_ADDRESS = payable(0x5de4839a76cf55d0c90e2061ef4386d962E15ae3); - bytes constant KERNEL_FACTORY_CODE = hex"00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; - function deploy() internal returns(address) { - DeterministicDeploy.checkDeploy("factory",EXPECTED_KERNEL_FACTORY_ADDRESS, KERNEL_FACTORY_CODE); + bytes constant KERNEL_FACTORY_CODE = + hex"00000000000000000000000000000000000000000000000000000000000000006080346100b257601f610b2d38819003918201601f19168301916001600160401b038311848410176100b75780849260409485528339810103126100b25780516001600160a01b0391828216918290036100b257602001519182168092036100b25780638b78c6d8195560007f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08180a3600080546001600160a01b031916919091179055604051610a5f90816100ce8239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6040608081526004908136101561001557600080fd5b600091823560e01c9081630396cb60146107d45781632569296214610789578163296601cd1461059d5781634d6cb7001461052b5781635414dff0146104fa57816354d1f13d146104b4578163584465f2146104745781636544c82814610436578163715018a6146103f05781638da5cb5b146103c3578163b0d691fe1461039b578163bb30a9741461034557838263bb9fe6bf146102ec578263c23a5cea1461026157508163d7533f0214610243578163db4c545e14610219578163f04e283e14610199578163f2fde38b1461012c575063fee81cf4146100f657600080fd5b3461012857602036600319011261012857602091610112610845565b9063389a75e1600c525281600c20549051908152f35b5080fd5b8390602036600319011261012857610142610845565b9061014b61088e565b8160601b1561018e575060018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b637448fbae8352601cfd5b83906020366003190112610128576101af610845565b906101b861088e565b63389a75e1600c528183526020600c20908154421161020e575082905560018060a01b0316638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08580a35580f35b636f5e88188452601cfd5b5050346101285781600319360112610128576020906089601361023a6108d8565b01209051908152f35b505034610128578160031936011261012857602090516202a3008152f35b809184346102e85760203660031901126102e85781356001600160a01b0381811693918490036102e45761029361088e565b84541692833b156102e45760248592838551968794859363611d2e7560e11b85528401525af19081156102db57506102c85750f35b6102d190610a13565b6102d85780f35b80fd5b513d84823e3d90fd5b8480fd5b5050fd5b809184346102e857826003193601126102e85761030761088e565b82546001600160a01b031691823b1561034057815163bb9fe6bf60e01b81529284918491829084905af19081156102db57506102c85750f35b505050fd5b50503461012857806003193601126101285761035f610845565b90602435918215158093036103975761037661088e565b60018060a01b03168352600160205282209060ff8019835416911617905580f35b8380fd5b505034610128578160031936011261012857905490516001600160a01b039091168152602090f35b505034610128578160031936011261012857638b78c6d8195490516001600160a01b039091168152602090f35b83806003193601126102d85761040461088e565b80638b78c6d8198181547f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a35580f35b5050346101285760203660031901126101285760209160ff9082906001600160a01b03610461610845565b1681526001855220541690519015158152f35b83903461012857602036600319011261012857356001600160a01b03811690819003610128576104a261088e565b81546001600160a01b03191617815580f35b83806003193601126102d85763389a75e1600c52338152806020600c2055337ffa7b8eab7da67f412cc9575ed43464468f9bfbae89d1675917346ca6d8fe3c928280a280f35b8284346102d85760203660031901126102d8575061051a602092356108ab565b90516001600160a01b039091168152f35b8284346102d857816003193601126102d85782359067ffffffffffffffff82116102d857506bffffffffffffffffffffffff61056f60209461051a93369101610860565b6105948580518381948a830196873781016024358a8201520388810184520182610a3d565b519020166108ab565b828460603660031901126102d8576105b3610845565b9160243567ffffffffffffffff8111610785576105d39036908601610860565b9360018060a01b039384821681526020966001885260ff858320541615610730576bffffffffffffffffffffffff8551898101908987833761062988828d8d82019060443590820152038d810184520182610a3d565b5190201696331560011715610724576106406108d8565b90601382019860898a2060ff86536035523060601b600152806015526055852099856035528a3b15610678575b8b8b8b8b5191168152f35b856089929394959697989b50f597881561071857918185939284938884527f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8d85015289840137870190348a5af1156106fe57507f09e48df7857bd0c1e0d31bb8a85d42cf1874817895f171c917f6ee2cea73ec20818692a3848080808080808061066d565b3d1561070d57503d81803e3d90fd5b63301164258252601cfd5b8363301164258652601cfd5b50632f6348368252601cfd5b845162461bcd60e51b8152908101889052602960248201527f4b65726e656c466163746f72793a20696d706c656d656e746174696f6e206e6f6044820152681d08185b1b1bddd95960ba1b6064820152608490fd5b8280fd5b83806003193601126102d85763389a75e1600c523381526202a30042016020600c2055337fdbf36a107da19e49527a7176a1babf963b4b0ff8cde35ee35d6cd8f1f9ac7e1d8280a280f35b91905060203660031901126107855782823563ffffffff8116809103610128576107fc61088e565b81546001600160a01b031693843b156107855760249084519586938492621cb65b60e51b845283015234905af19081156102db5750610839575080f35b61084290610a13565b80f35b600435906001600160a01b038216820361085b57565b600080fd5b9181601f8401121561085b5782359167ffffffffffffffff831161085b576020838186019501011161085b57565b638b78c6d81954330361089d57565b6382b429006000526004601cfd5b608960136108b76108d8565b012060ff6000536035523060601b6001526015526055600020906000603552565b604051903060701c1561097c57666052573d6000fd607b8301527f3d356020355560408036111560525736038060403d373d3d355af43d6000803e60748301527f3735a920a3ca505d382bbc545af43d6000803e6052573d6000fd5b3d6000f35b60548301527f14605757363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc60348301523060148301526c607f3d8160093d39f33d3d33738252565b66604c573d6000fd60758301527f3d3560203555604080361115604c5736038060403d373d3d355af43d6000803e606e8301527f3735a920a3ca505d382bbc545af43d6000803e604c573d6000fd5b3d6000f35b604e8301527f14605157363d3d37363d7f360894a13ba1a3210667c828492db98dca3e2076cc602e83015230600e8301526c60793d8160093d39f33d3d336d8252565b67ffffffffffffffff8111610a2757604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a2757604052560000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a0000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + + function deploy() internal returns (address) { + DeterministicDeploy.checkDeploy("factory", EXPECTED_KERNEL_FACTORY_ADDRESS, KERNEL_FACTORY_CODE); return EXPECTED_KERNEL_FACTORY_ADDRESS; } } diff --git a/script/deterministic/Factory_old.s.sol b/script/deterministic/Factory_old.s.sol index 41becba8..066e3004 100644 --- a/script/deterministic/Factory_old.s.sol +++ b/script/deterministic/Factory_old.s.sol @@ -2,12 +2,16 @@ pragma solidity ^0.8.0; import "./DeterministicDeploy.s.sol"; import "forge-std/Script.sol"; + contract Factory_old is Script { address constant DEPLOYER = 0x7A0D94F55792C434d74a40883C6ed8545E406D12; address constant EXPECTED_FACTORY = 0x5D006d3880645ec6e254E18C1F879DAC9Dd71A39; address constant EXPECTED_ECDSA_FACTORY = 0xD49a72cb78C44c6bfbf0d471581B7635cF62E81e; - bytes constant FACTORY_BYTECODE = hex"60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; - bytes constant ECDSA_FACTORY_BYTECODE = hex"60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + bytes constant FACTORY_BYTECODE = + hex"60e060405234801561001057600080fd5b50604051614de5380380614de583398101604081905261002f916100e1565b8060405161003c906100c7565b6001600160a01b039091168152602001604051809103906000f080158015610068573d6000803e3d6000fd5b506001600160a01b03166080526040518190610083906100d4565b6001600160a01b039091168152602001604051809103906000f0801580156100af573d6000803e3d6000fd5b506001600160a01b0390811660a0521660c052610111565b611b8380610abe83390190565b6127a48061264183390190565b6000602082840312156100f357600080fd5b81516001600160a01b038116811461010a57600080fd5b9392505050565b60805160a05160c051610957610167600039600060f101526000818160ca01528181610191015281816102c3015261033701526000818160610152818161016f015281816102a1015261031501526109576000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063037637aa1461005c5780631bb12e691461009f578063296601cd146100b25780636c2f70fd146100c5578063b0d691fe146100ec575b600080fd5b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b03909116815260200160405180910390f35b6100836100ad366004610471565b610113565b6100836100c0366004610471565b610243565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6100837f000000000000000000000000000000000000000000000000000000000000000081565b6000808585858560405160200161012d9493929190610508565b604051602081830303815290604052805190602001209050610237816040518060200161015990610464565b6020820181038252601f19601f820116604052507f0000000000000000000000000000000000000000000000000000000000000000897f00000000000000000000000000000000000000000000000000000000000000008a8a6040516024016101c5949392919061055e565b60408051601f19818403018152918152602080830180516001600160e01b031663cf7a1d7760e01b17905290516101fe939291016105b9565b60408051601f198184030181529082905261021c92916020016105fb565b60405160208183030381529060405280519060200120610426565b9150505b949350505050565b6000808585858560405160200161025d9493929190610508565b60405160208183030381529060405280519060200120905060006102f7826040518060200161028b90610464565b6020820181038252601f19601f820116604052507f00000000000000000000000000000000000000000000000000000000000000008a7f00000000000000000000000000000000000000000000000000000000000000008b8b6040516024016101c5949392919061055e565b90506001600160a01b0381163b1561031257915061023b9050565b817f0000000000000000000000000000000000000000000000000000000000000000887f0000000000000000000000000000000000000000000000000000000000000000898960405160240161036b949392919061055e565b60408051601f198184030181529181526020820180516001600160e01b031663cf7a1d7760e01b1790525161039f90610464565b6103aa9291906105b9565b8190604051809103906000f59050801580156103ca573d6000803e3d6000fd5b509250866001600160a01b0316836001600160a01b03167fa4ec333d142e947b3345528c6cbc210be703d984f8df2c3d589f2b3ea39f74378888886040516104149392919061062a565b60405180910390a35050949350505050565b600061043383833061043a565b9392505050565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b6103088061064f83390190565b6000806000806060858703121561048757600080fd5b84356001600160a01b038116811461049e57600080fd5b9350602085013567ffffffffffffffff808211156104bb57600080fd5b818701915087601f8301126104cf57600080fd5b8135818111156104de57600080fd5b8860208285010111156104f057600080fd5b95986020929092019750949560400135945092505050565b6bffffffffffffffffffffffff198560601b16815282846014830137601492019182015260340192915050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0385811682528416602082015260606040820181905260009061058b9083018486610535565b9695505050505050565b60005b838110156105b0578181015183820152602001610598565b50506000910152565b60018060a01b038316815260406020820152600082518060408401526105e6816060850160208701610595565b601f01601f1916919091016060019392505050565b6000835161060d818460208801610595565b835190830190610621818360208801610595565b01949350505050565b60408152600061063e604083018587610535565b905082602083015294935050505056fe6080604052604051610308380380610308833981016040819052610022916101be565b6001600160a01b0382166100965760405162461bcd60e51b815260206004820152603060248201527f4549503139363750726f78793a20696d706c656d656e746174696f6e2069732060448201526f746865207a65726f206164647265737360801b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc82815581511561017c576000836001600160a01b0316836040516100db919061028c565b600060405180830381855af49150503d8060008114610116576040519150601f19603f3d011682016040523d82523d6000602084013e61011b565b606091505b505090508061017a5760405162461bcd60e51b815260206004820152602560248201527f4549503139363750726f78793a20636f6e7374727563746f722063616c6c2066604482015264185a5b195960da1b606482015260840161008d565b505b5050506102a8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156101b557818101518382015260200161019d565b50506000910152565b600080604083850312156101d157600080fd5b82516001600160a01b03811681146101e857600080fd5b60208401519092506001600160401b038082111561020557600080fd5b818501915085601f83011261021957600080fd5b81518181111561022b5761022b610184565b604051601f8201601f19908116603f0116810190838211818310171561025357610253610184565b8160405282815288602084870101111561026c57600080fd5b61027d83602083016020880161019a565b80955050505050509250929050565b6000825161029e81846020870161019a565b9190910192915050565b6052806102b66000396000f3fe60806040526000602d7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5490565b90503660008037600080366000845af43d6000803e808015604d573d6000f35b3d6000fd61016060405234801561001157600080fd5b50604051611b83380380611b8383398101604081905261003091610130565b604080518082018252600681526512d95c9b995b60d21b602080830191825283518085019094526005845264181718171960d91b908401528151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a0529192917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61010f8184846040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b6080523060c05261012052505050506001600160a01b031661014052610160565b60006020828403121561014257600080fd5b81516001600160a01b038116811461015957600080fd5b9392505050565b60805160a05160c05160e0516101005161012051610140516119c26101c160003960008181610347015261050c015260006110a6015260006110f5015260006110d001526000611029015260006110530152600061107d01526119c26000f3fe6080604052600436106100745760003560e01c80634be5cd9f1161004e5780634be5cd9f146102e157806354fd4d5014610304578063b0d691fe14610335578063cf7a1d77146103815761007b565b806306fdde03146102325780631626ba7e1461027a5780633a871cdd146102b35761007b565b3661007b57005b3080546001600160a01b03167f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81815560006100b56103a1565b6001015460405163064acaab60e11b8152600160501b9091046001600160a01b031691508190630c959556906100f290600288019060040161117d565b600060405180830381600087803b15801561010c57600080fd5b505af1158015610120573d6000803e3d6000fd5b50505050600061012d3090565b600101546001600160a01b0316905080156101a45760405163064acaab60e11b81526001600160a01b03821690630c9595569061017190600330019060040161117d565b600060405180830381600087803b15801561018b57600080fd5b505af115801561019f573d6000803e3d6000fd5b505050505b600080856001600160a01b03166000366040516101c2929190611208565b600060405180830381855af49150503d80600081146101fd576040519150601f19603f3d011682016040523d82523d6000602084013e610202565b606091505b50915091508181906102305760405162461bcd60e51b8152600401610227919061125e565b60405180910390fd5b005b34801561023e57600080fd5b506102646040518060400160405280600681526020016512d95c9b995b60d21b81525081565b604051610271919061125e565b60405180910390f35b34801561028657600080fd5b5061029a6102953660046112ba565b6103d5565b6040516001600160e01b03199091168152602001610271565b3480156102bf57600080fd5b506102d36102ce366004611306565b6104ff565b604051908152602001610271565b3480156102ed57600080fd5b506102f661084f565b60405161027192919061135a565b34801561031057600080fd5b5061026460405180604001604052806005815260200164181718171960d91b81525081565b34801561034157600080fd5b506103697f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610271565b34801561038d57600080fd5b5061023061039c3660046113ae565b6108f8565b6000806103cf60017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9611429565b92915050565b60008061044e6103e36103a1565b600101600a9054906101000a90046001600160a01b031663333daf9260e01b87878760405160240161041793929190611465565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610a63565b9150506000818060200190518101906104679190611488565b9050600061047482610ab8565b905042816020015165ffffffffffff16111561049e57506001600160e01b031992506104f8915050565b42816040015165ffffffffffff1610156104c657506001600160e01b031992506104f8915050565b80516001600160a01b0316156104ea57506001600160e01b031992506104f8915050565b50630b135d3f60e11b925050505b9392505050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146105795760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e74000000006044820152606401610227565b60006105896101408601866114a1565b610598916004916000916114e8565b6105a191611512565b905060006105ae8661160f565b90506000806105c060608901896114a1565b6105cf916004916000916114e8565b6105d891611512565b90506001600160e01b03198416600003610670576105f58861160f565b92506106056101408901896114a1565b6106139160049082906114e8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408401526106556103a1565b60010154600160501b90046001600160a01b031691506107ad565b6001600160e01b03198416600160e11b036107a0576106936101408901896114a1565b6106a2916024916010916114e8565b6106ab9161171e565b60601c915036600081816106cc856106c76101408f018f6114a1565b610b29565b604051949d50929750909550935091506000906106fe90889063064acaab60e11b906104179089908990602401611751565b509050806107595760405162461bcd60e51b815260206004820152602260248201527f6163636f756e743a20656e61626c65206d6f646520656e61626c65206661696c604482015261195960f21b6064820152608401610227565b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140890152506107ad9350505050565b60019450505050506104f8565b85156107ff57604051600090339088908381818185875af1925050503d80600081146107f5576040519150601f19603f3d011682016040523d82523d6000602084013e6107fa565b606091505b505050505b600061082283633a871cdd60e01b868b8b60405160240161041793929190611765565b915050610842868280602001905181019061083d9190611488565b610f33565b9998505050505050505050565b3080546002820180546001600160a01b039092169260609290919061087390611143565b80601f016020809104026020016040519081016040528092919081815260200182805461089f90611143565b80156108ec5780601f106108c1576101008083540402835291602001916108ec565b820191906000526020600020905b8154815290600101906020018083116108cf57829003601f168201915b50505050509150509091565b60006109026103a1565b6001810154909150600160501b90046001600160a01b0316156109675760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a6564000000006044820152606401610227565b6001810180547fffff0000000000000000000000000000000000000000ffffffffffffffffffff16600160501b6001600160a01b03881602179055833080546001600160a01b0319166001600160a01b0392909216919091179055828230600201916109d49190836118a2565b5060006109f686630c95955660e01b8686604051602401610417929190611751565b50905080610a5b5760405162461bcd60e51b815260206004820152602c60248201527f6163636f756e743a20656e61626c65206661696c65642077697468206465666160448201526b3ab63a3b30b634b230ba37b960a11b6064820152608401610227565b505050505050565b600060606000808451602086016000885af260405160203d0181016040523d81523d6000602083013e90925090508082610ab05760405162461bcd60e51b8152600401610227919061125e565b509250929050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff8116600003610af4575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b60003681818180610b3e60586038898b6114e8565b610b4791611963565b905087605888610b578483611981565b92610b64939291906114e8565b909550935060008888610b78846058611981565b90610b84856078611981565b92610b91939291906114e8565b610b9a91611963565b60001c90506000610c7b7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c600490602492610bda939291906114e8565b610be391611963565b60001c8d8d602490603892610bfa939291906114e8565b610c039161171e565b60601c8b8b604051610c16929190611208565b604051908190038120610c6095949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120610fce565b90506000610cea610c8a6103a1565b60010154600160501b90046001600160a01b031663199ed7c960e11b848e8e610cb48a6078611981565b9089610cc18c6078611981565b610ccb9190611981565b92610cd8939291906114e8565b60405160240161041793929190611465565b915050610d3a81806020019051810190610d049190611488565b60a06bffffffffffffffffffffffff8016901b8d8d600490602492610d2b939291906114e8565b610d3491611963565b16610f33565b98508a8a84610d4a876078611981565b610d549190611981565b610d5f9282906114e8565b9550955060405180608001604052808c8c600490600a92610d82939291906114e8565b610d8b91611994565b60d01c65ffffffffffff1681526020018c8c600a90601092610daf939291906114e8565b610db891611994565b60d01c65ffffffffffff1681526020018c8c602490603892610ddc939291906114e8565b610de59161171e565b60601c6001600160a01b031681526020018c8c601090602492610e0a939291906114e8565b610e139161171e565b60601c9052610e206103a1565b6001600160e01b03198e166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166bffffffffffffffffffffffff199094169390931766010000000000009190941602929092176bffffffffffffffffffffffff16600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055610ecb602460108c8e6114e8565b610ed49161171e565b60013090810180546001600160a01b03191660609390931c92909217909155600301610f01888a836118a2565b50888b60588c610f118883611981565b92610f1e939291906114e8565b98509850985050505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614610f56575060016103cf565b60a083811c9060d085811c9185901c9085901c65ffffffffffff8083169085161015610f80578193505b8065ffffffffffff168365ffffffffffff161115610f9c578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006103cf610fdb61101c565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561107557507f000000000000000000000000000000000000000000000000000000000000000046145b1561109f57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b600181811c9082168061115757607f821691505b60208210810361117757634e487b7160e01b600052602260045260246000fd5b50919050565b600060208083526000845461119181611143565b808487015260406001808416600081146111b257600181146111cc576111fa565b60ff1985168984015283151560051b8901830195506111fa565b896000528660002060005b858110156111f25781548b82018601529083019088016111d7565b8a0184019650505b509398975050505050505050565b8183823760009101908152919050565b6000815180845260005b8181101561123e57602081850181015186830182015201611222565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006104f86020830184611218565b60008083601f84011261128357600080fd5b50813567ffffffffffffffff81111561129b57600080fd5b6020830191508360208285010111156112b357600080fd5b9250929050565b6000806000604084860312156112cf57600080fd5b83359250602084013567ffffffffffffffff8111156112ed57600080fd5b6112f986828701611271565b9497909650939450505050565b60008060006060848603121561131b57600080fd5b833567ffffffffffffffff81111561133257600080fd5b8401610160818703121561134557600080fd5b95602085013595506040909401359392505050565b6001600160a01b038316815260406020820181905260009061137e90830184611218565b949350505050565b6001600160a01b038116811461139b57600080fd5b50565b80356113a981611386565b919050565b600080600080606085870312156113c457600080fd5b84356113cf81611386565b935060208501356113df81611386565b9250604085013567ffffffffffffffff8111156113fb57600080fd5b61140787828801611271565b95989497509550505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156103cf576103cf611413565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061147f60408301848661143c565b95945050505050565b60006020828403121561149a57600080fd5b5051919050565b6000808335601e198436030181126114b857600080fd5b83018035915067ffffffffffffffff8211156114d357600080fd5b6020019150368190038213156112b357600080fd5b600080858511156114f857600080fd5b8386111561150557600080fd5b5050820193919092039150565b6001600160e01b0319813581811691600485101561153a5780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b604051610160810167ffffffffffffffff8111828210171561157c5761157c611542565b60405290565b600082601f83011261159357600080fd5b813567ffffffffffffffff808211156115ae576115ae611542565b604051601f8301601f19908116603f011681019082821181831017156115d6576115d6611542565b816040528381528660208588010111156115ef57600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561162257600080fd5b61162a611558565b6116338361139e565b815260208301356020820152604083013567ffffffffffffffff8082111561165a57600080fd5b61166636838701611582565b6040840152606085013591508082111561167f57600080fd5b61168b36838701611582565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e084015261010091508185013582840152610120915081850135818111156116db57600080fd5b6116e736828801611582565b83850152506101409150818501358181111561170257600080fd5b61170e36828801611582565b8385015250505080915050919050565b6bffffffffffffffffffffffff19813581811691601485101561153a5760149490940360031b84901b1690921692915050565b60208152600061137e60208301848661143c565b6060815261177f6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526117a76101c0850183611218565b91506060870151605f19808685030160c08701526117c58483611218565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526118218787611218565b9650808c0151955050505080868503016101a087015250506118438282611218565b602085019690965250505060400152919050565b601f82111561189d57600081815260208120601f850160051c8101602086101561187e5750805b601f850160051c820191505b81811015610a5b5782815560010161188a565b505050565b67ffffffffffffffff8311156118ba576118ba611542565b6118ce836118c88354611143565b83611857565b6000601f84116001811461190257600085156118ea5750838201355b600019600387901b1c1916600186901b17835561195c565b600083815260209020601f19861690835b828110156119335786850135825560209485019460019092019101611913565b50868210156119505760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b803560208310156103cf57600019602084900360031b1b1692915050565b808201808211156103cf576103cf611413565b6001600160d01b0319813581811691600685101561153a5760069490940360031b84901b1690921692915050566101606040523480156200001257600080fd5b50604051620027a4380380620027a483398101604081905262000035916200018e565b604080518082018252600681526512d95c9b995b60d21b6020808301918252835180850185526005815264181718171960d91b908201529151902060e08190527fb30367effb941b728181f67f3bd24a38a4fff408ee7fb3b074425c9fb5e9be746101008190524660a081815285517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818701819052818801959095526060810193909352608080840192909252308382018190528651808503909201825260c09384019096528051940193909320909252919052610120526001600160a01b038116610140528060016200012962000158565b600101600a6101000a8154816001600160a01b0302191690836001600160a01b031602179055505050620001e2565b6000806200018860017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9620001c0565b92915050565b600060208284031215620001a157600080fd5b81516001600160a01b0381168114620001b957600080fd5b9392505050565b818103818111156200018857634e487b7160e01b600052601160045260246000fd5b60805160a05160c05160e0516101005161012051610140516125286200027c60003960008181610135015281816104af015281816106ff015281816108d30152818161098301528181610e5a01528181610f72015281816110ae0152818161123201526113a901526000611a4501526000611a9401526000611a6f015260006119c8015260006119f201526000611a1c01526125286000f3fe6080604052600436106101235760003560e01c806354fd4d50116100a0578063bc197c8111610064578063bc197c81146104d1578063d087d28814610500578063d1f5789414610515578063d541622114610535578063f23a6e61146105555761012a565b806354fd4d501461040b57806355b14f501461043c57806357b750471461045c57806388e7fd0614610471578063b0d691fe1461049d5761012a565b80633659cfe6116100e75780633659cfe6146103105780633a871cdd146103305780633e1b08121461035e57806351166ba01461037e57806351945447146103eb5761012a565b806306fdde03146102165780630b3dc3541461025e578063150b7a021461028b5780631626ba7e146102d057806329f8b174146102f05761012a565b3661012a57005b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146101a75760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e740000000060448201526064015b60405180910390fd5b600080356001600160e01b031916905060006101c1610582565b6001600160e01b0319831660009081526002919091016020526040812054600160601b90046001600160a01b0316915036908037600080366000845af43d6000803e80801561020f573d6000f35b3d6000fd5b005b34801561022257600080fd5b506102486040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102559190611b28565b60405180910390f35b34801561026a57600080fd5b506102736105b6565b6040516001600160a01b039091168152602001610255565b34801561029757600080fd5b506102b76102a6366004611bab565b630a85bd0160e11b95945050505050565b6040516001600160e01b03199091168152602001610255565b3480156102dc57600080fd5b506102b76102eb366004611c1d565b6105d9565b3480156102fc57600080fd5b5061021461030b366004611c96565b6106f4565b34801561031c57600080fd5b5061021461032b366004611d30565b6108c8565b34801561033c57600080fd5b5061035061034b366004611d4d565b610976565b604051908152602001610255565b34801561036a57600080fd5b50610350610379366004611da0565b610e33565b34801561038a57600080fd5b5061039e610399366004611dc9565b610ecd565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b039081169282019290925260609283015190911691810191909152608001610255565b3480156103f757600080fd5b50610214610406366004611de4565b610f67565b34801561041757600080fd5b5061024860405180604001604052806005815260200164181718171960d91b81525081565b34801561044857600080fd5b50610214610457366004611e5b565b6110a3565b34801561046857600080fd5b506102b76111da565b34801561047d57600080fd5b506104866111f0565b60405165ffffffffffff9091168152602001610255565b3480156104a957600080fd5b506102737f000000000000000000000000000000000000000000000000000000000000000081565b3480156104dd57600080fd5b506102b76104ec366004611eda565b63bc197c8160e01b98975050505050505050565b34801561050c57600080fd5b50610350611213565b34801561052157600080fd5b50610214610530366004611e5b565b6112aa565b34801561054157600080fd5b50610214610550366004611dc9565b61139e565b34801561056157600080fd5b506102b7610570366004611f98565b63f23a6e6160e01b9695505050505050565b6000806105b060017f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9612029565b92915050565b60006105c0610582565b60010154600160501b90046001600160a01b0316919050565b6000806105e4610582565b6001015460405163199ed7c960e11b8152600160501b9091046001600160a01b03169063333daf929061061f90889088908890600401612065565b602060405180830381865afa15801561063c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106609190612088565b9050600061066d82611442565b905042816020015165ffffffffffff16111561069657506001600160e01b031991506106ed9050565b42816040015165ffffffffffff1610156106bd57506001600160e01b031991506106ed9050565b80516001600160a01b0316156106e057506001600160e01b031991506106ed9050565b50630b135d3f60e11b9150505b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061072a57503330145b6107465760405162461bcd60e51b815260040161019e906120a1565b60405180608001604052808565ffffffffffff1681526020018465ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610791610582565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176001600160601b0316600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c9595569061084990859085906004016120ee565b600060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806108fe57503330145b61091a5760405162461bcd60e51b815260040161019e906120a1565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8181556040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a25050565b6000336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109f05760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279506f696e7400000000604482015260640161019e565b6000610a0061014086018661210a565b610a0f91600491600091612150565b610a189161217a565b9050610a22610582565b6001015460e01b81166001600160e01b03191615610a7a5760405162461bcd60e51b81526020600482015260156024820152741ad95c9b995b0e881b5bd91948191a5cd8589b1959605a1b604482015260640161019e565b6000610a8586612275565b9050600080610a97606089018961210a565b610aa691600491600091612150565b610aaf9161217a565b90506001600160e01b03198416600003610b4757610acc88612275565b9250610adc61014089018961210a565b610aea916004908290612150565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140840152610b2c610582565b60010154600160501b90046001600160a01b03169150610d59565b6001600160e01b03198416600160e01b03610c3d576000610b66610582565b6001600160e01b0319831660009081526002919091016020526040902060018101546001600160a01b03169350905082610bb957610ba2610582565b60010154600160501b90046001600160a01b031692505b610bc76101408a018a61210a565b610bd5916004908290612150565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050506101408501525460d081901b6001600160d01b031916600160301b90910460a01b65ffffffffffff60a01b16179450610d59565b6001600160e01b03198416600160e11b03610d4c57610c6061014089018961210a565b610c6f91602491601091612150565b610c7891612383565b60601c91503660008181610c9985610c946101408f018f61210a565b6114b3565b60405163064acaab60e11b8152949d50929750909550935091506001600160a01b03871690630c95955690610cd490879087906004016120ee565b600060405180830381600087803b158015610cee57600080fd5b505af1158015610d02573d6000803e3d6000fd5b5050505081818080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505061014088015250610d5992505050565b60019450505050506106ed565b8515610dab57604051600090339088908381818185875af1925050503d8060008114610da1576040519150601f19603f3d011682016040523d82523d6000602084013e610da6565b606091505b505050505b610e2785836001600160a01b0316633a871cdd868b8b6040518463ffffffff1660e01b8152600401610ddf939291906123b1565b6020604051808303816000875af1158015610dfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e229190612088565b611864565b98975050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610ea9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105b09190612088565b604080516080810182526000808252602082018190529181018290526060810191909152610ef9610582565b6001600160e01b0319909216600090815260029290920160209081526040928390208351608081018552815465ffffffffffff8082168352600160301b820416938201939093526001600160a01b03600160601b909304831694810194909452600101541660608301525090565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610fdf5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e7400000000604482015260640161019e565b600060606001836001811115610ff757610ff76124a3565b036110465761103c8786868080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506118ff92505050565b909250905061108d565b611087878787878080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061193592505050565b90925090505b8161109a57805160208201fd5b50505050505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d957503330145b6110f55760405162461bcd60e51b815260040161019e906120a1565b60006110ff610582565b60010154600160501b90046001600160a01b031690508361111e610582565b6001018054600160501b600160f01b031916600160501b6001600160a01b0393841602179055604051858216918316907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b600060405180830381600087803b1580156111bc57600080fd5b505af11580156111d0573d6000803e3d6000fd5b5050505050505050565b60006111e4610582565b6001015460e01b919050565b60006111fa610582565b60010154640100000000900465ffffffffffff16919050565b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a59190612088565b905090565b60006112b4610582565b6001810154909150600160501b90046001600160a01b0316156113195760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a20616c726561647920696e697469616c697a656400000000604482015260640161019e565b600181018054600160501b600160f01b031916600160501b6001600160a01b038716908102919091179091556040516000907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c908290a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a290869086906004016120ee565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806113d457503330145b6113f05760405162461bcd60e51b815260040161019e906120a1565b806113f9610582565b600101805463ffffffff191660e09290921c9190911790554261141a610582565b60010160046101000a81548165ffffffffffff021916908365ffffffffffff16021790555050565b60408051606081018252600080825260208201819052918101919091528160a081901c65ffffffffffff811660000361147e575065ffffffffffff5b604080516060810182526001600160a01b03909316835260d09490941c602083015265ffffffffffff16928101929092525090565b600036818181806114c860586038898b612150565b6114d1916124b9565b9050876058886114e184836124d7565b926114ee93929190612150565b9095509350600088886115028460586124d7565b9061150e8560786124d7565b9261151b93929190612150565b611524916124b9565b60001c905060006116057f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641768c8c8c60049060249261156493929190612150565b61156d916124b9565b60001c8d8d60249060389261158493929190612150565b61158d91612383565b60601c8b8b6040516115a09291906124ea565b6040519081900381206115ea95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b6040516020818303038152906040528051906020012061196d565b90506116ed611612610582565b60010154600160501b90046001600160a01b031663333daf92838d8d6116398960786124d7565b90886116468b60786124d7565b61165091906124d7565b9261165d93929190612150565b6040518463ffffffff1660e01b815260040161167b93929190612065565b602060405180830381865afa158015611698573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116bc9190612088565b60a06001600160601b038016901b8c8c6004906024926116de93929190612150565b6116e7916124b9565b16611864565b97508989836116fd8660786124d7565b61170791906124d7565b611712928290612150565b6040805160808101909152919650945080611731600a60048d8f612150565b61173a916124fa565b60d01c81526020016117506010600a8d8f612150565b611759916124fa565b60d01c815260200161176f603860248d8f612150565b61177891612383565b60601c815260200161178e602460108d8f612150565b61179791612383565b60601c90526117a4610582565b6001600160e01b03198d166000908152600291909101602090815260409182902083518154928501519385015165ffffffffffff9182166001600160601b031990941693909317600160301b9190941602929092176001600160601b0316600160601b6001600160a01b0392831602178255606090920151600190910180546001600160a01b03191691909216179055878a60588b61184387836124d7565b9261185093929190612150565b975097509750505050939792965093509350565b6000816001600160a01b0316836001600160a01b031614611887575060016105b0565b60a083811c9060d085811c9185901c9085901c65ffffffffffff80831690851610156118b1578193505b8065ffffffffffff168365ffffffffffff1611156118cd578092505b60d08365ffffffffffff16901b60a08565ffffffffffff16901b886001600160a01b0316171794505050505092915050565b60006060600080845160208601875af491503d604051602082018101604052818152816000602083013e80925050509250929050565b6000606060008084516020860187895af191503d604051602082018101604052818152816000602083013e8092505050935093915050565b60006105b061197a6119bb565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015611a1457507f000000000000000000000000000000000000000000000000000000000000000046145b15611a3e57507f000000000000000000000000000000000000000000000000000000000000000090565b50604080517f00000000000000000000000000000000000000000000000000000000000000006020808301919091527f0000000000000000000000000000000000000000000000000000000000000000828401527f000000000000000000000000000000000000000000000000000000000000000060608301524660808301523060a0808401919091528351808403909101815260c0909201909252805191012090565b6000815180845260005b81811015611b0857602081850181015186830182015201611aec565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006106ed6020830184611ae2565b6001600160a01b0381168114611b5057600080fd5b50565b8035611b5e81611b3b565b919050565b60008083601f840112611b7557600080fd5b5081356001600160401b03811115611b8c57600080fd5b602083019150836020828501011115611ba457600080fd5b9250929050565b600080600080600060808688031215611bc357600080fd5b8535611bce81611b3b565b94506020860135611bde81611b3b565b93506040860135925060608601356001600160401b03811115611c0057600080fd5b611c0c88828901611b63565b969995985093965092949392505050565b600080600060408486031215611c3257600080fd5b8335925060208401356001600160401b03811115611c4f57600080fd5b611c5b86828701611b63565b9497909650939450505050565b80356001600160e01b031981168114611b5e57600080fd5b803565ffffffffffff81168114611b5e57600080fd5b600080600080600080600060c0888a031215611cb157600080fd5b611cba88611c68565b96506020880135611cca81611b3b565b95506040880135611cda81611b3b565b9450611ce860608901611c80565b9350611cf660808901611c80565b925060a08801356001600160401b03811115611d1157600080fd5b611d1d8a828b01611b63565b989b979a50959850939692959293505050565b600060208284031215611d4257600080fd5b81356106ed81611b3b565b600080600060608486031215611d6257600080fd5b83356001600160401b03811115611d7857600080fd5b84016101608187031215611d8b57600080fd5b95602085013595506040909401359392505050565b600060208284031215611db257600080fd5b81356001600160c01b03811681146106ed57600080fd5b600060208284031215611ddb57600080fd5b6106ed82611c68565b600080600080600060808688031215611dfc57600080fd5b8535611e0781611b3b565b94506020860135935060408601356001600160401b03811115611e2957600080fd5b611e3588828901611b63565b909450925050606086013560028110611e4d57600080fd5b809150509295509295909350565b600080600060408486031215611e7057600080fd5b8335611e7b81611b3b565b925060208401356001600160401b03811115611c4f57600080fd5b60008083601f840112611ea857600080fd5b5081356001600160401b03811115611ebf57600080fd5b6020830191508360208260051b8501011115611ba457600080fd5b60008060008060008060008060a0898b031215611ef657600080fd5b8835611f0181611b3b565b97506020890135611f1181611b3b565b965060408901356001600160401b0380821115611f2d57600080fd5b611f398c838d01611e96565b909850965060608b0135915080821115611f5257600080fd5b611f5e8c838d01611e96565b909650945060808b0135915080821115611f7757600080fd5b50611f848b828c01611b63565b999c989b5096995094979396929594505050565b60008060008060008060a08789031215611fb157600080fd5b8635611fbc81611b3b565b95506020870135611fcc81611b3b565b9450604087013593506060870135925060808701356001600160401b03811115611ff557600080fd5b61200189828a01611b63565b979a9699509497509295939492505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105b0576105b0612013565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061207f60408301848661203c565b95945050505050565b60006020828403121561209a57600080fd5b5051919050565b6020808252602d908201527f6163636f756e743a206e6f742066726f6d20656e747279706f696e74206f722060408201526c37bbb732b91037b91039b2b63360991b606082015260800190565b60208152600061210260208301848661203c565b949350505050565b6000808335601e1984360301811261212157600080fd5b8301803591506001600160401b0382111561213b57600080fd5b602001915036819003821315611ba457600080fd5b6000808585111561216057600080fd5b8386111561216d57600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156121a25780818660040360031b1b83161692505b505092915050565b634e487b7160e01b600052604160045260246000fd5b60405161016081016001600160401b03811182821017156121e3576121e36121aa565b60405290565b600082601f8301126121fa57600080fd5b81356001600160401b0380821115612214576122146121aa565b604051601f8301601f19908116603f0116810190828211818310171561223c5761223c6121aa565b8160405283815286602085880101111561225557600080fd5b836020870160208301376000602085830101528094505050505092915050565b6000610160823603121561228857600080fd5b6122906121c0565b61229983611b53565b81526020830135602082015260408301356001600160401b03808211156122bf57600080fd5b6122cb368387016121e9565b604084015260608501359150808211156122e457600080fd5b6122f0368387016121e9565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561234057600080fd5b61234c368288016121e9565b83850152506101409150818501358181111561236757600080fd5b612373368288016121e9565b8385015250505080915050919050565b6001600160601b031981358181169160148510156121a25760149490940360031b84901b1690921692915050565b606081526123cb6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526123f36101c0850183611ae2565b91506060870151605f19808685030160c08701526124118483611ae2565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261246d8787611ae2565b9650808c0151955050505080868503016101a0870152505061248f8282611ae2565b602085019690965250505060400152919050565b634e487b7160e01b600052602160045260246000fd5b803560208310156105b057600019602084900360031b1b1692915050565b808201808211156105b0576105b0612013565b8183823760009101908152919050565b6001600160d01b031981358181169160068510156121a25760069490940360031b84901b1690921692915050560000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + bytes constant ECDSA_FACTORY_BYTECODE = + hex"60e060405234801561001057600080fd5b5060405161048338038061048383398101604081905261002f91610064565b6001600160a01b0392831660805290821660a0521660c0526100b1565b6001600160a01b038116811461006157600080fd5b50565b60008060006060848603121561007957600080fd5b83516100848161004c565b60208501519093506100958161004c565b60408501519092506100a68161004c565b809150509250925092565b60805160a05160c05161038a6100f9600039600060ca015260008181609001528181610188015261027201526000818160f101528181610153015261023d015261038a6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630d253d761461005c5780633a5381b51461008b5780635fbfb9cf146100b2578063b0d691fe146100c5578063bc10273e146100ec575b600080fd5b61006f61006a3660046102d5565b610113565b6040516001600160a01b03909116815260200160405180910390f35b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f6100c03660046102d5565b6101fd565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b61006f7f000000000000000000000000000000000000000000000000000000000000000081565b60408051606084901b6bffffffffffffffffffffffff19166020820152815160148183030181526034820192839052631bb12e6960e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690631bb12e69906101b4907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b602060405180830381865afa1580156101d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101f59190610366565b949350505050565b60408051606084901b6bffffffffffffffffffffffff1916602082015281516014818303018152603482019283905263296601cd60e01b909252600091907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063296601cd9061029e907f00000000000000000000000000000000000000000000000000000000000000009085908890603801610301565b6020604051808303816000875af11580156101d1573d6000803e3d6000fd5b6001600160a01b03811681146102d257600080fd5b50565b600080604083850312156102e857600080fd5b82356102f3816102bd565b946020939093013593505050565b60018060a01b038416815260006020606081840152845180606085015260005b8181101561033d57868101830151858201608001528201610321565b506000608082860101526080601f19601f83011685010192505050826040830152949350505050565b60006020828403121561037857600080fd5b8151610383816102bd565b9392505050560000000000000000000000005d006d3880645ec6e254e18c1f879dac9dd71a39000000000000000000000000180d6465f921c7e0dea0040107d342c87455fff50000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + function run() external { address caller = 0x9775137314fE595c943712B0b336327dfa80aE8A; vm.startBroadcast(caller); diff --git a/script/deterministic/Kernel2_2.s.sol b/script/deterministic/Kernel2_2.s.sol index a58113e8..a2b41d29 100644 --- a/script/deterministic/Kernel2_2.s.sol +++ b/script/deterministic/Kernel2_2.s.sol @@ -1,12 +1,16 @@ pragma solidity ^0.8.0; + import "./DeterministicDeploy.s.sol"; library Kernel_2_2_Deploy { address constant EXPECTED_KERNEL_2_2_ADDRESS = 0x0DA6a956B9488eD4dd761E59f52FDc6c8068E6B5; - bytes constant KERNEL_2_2_CODE = hex"000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + bytes constant KERNEL_2_2_CODE = + hex"000000000000000000000000000000000000000000000000000000000000000061014034620001b757601f620021e238819003918201601f19168301916001600160401b03831184841017620001bc57808492602094604052833981010312620001b757516001600160a01b0381168103620001b757306080524660a05260a062000069620001d2565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d2565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b031982541617905560405190611fef9283620001f3843960805183611a6a015260a05183611a8d015260c05183611aff015260e05183611b2501525182611a490152518181816104db0152818161079a015281816108a701528181610a3201528181610b5a01528181610d5401528181610e7501528181610f740152818161109e01528181611147015261148e0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001bc5760405256fe6080604052600436101561001d575b366110815761001b611ece565b005b60003560e01c806306fdde031461018d5780630b3dc35414610188578063150b7a02146101835780631626ba7e1461017e57806329f8b17414610179578063333daf921461017457806334fcd5be1461016f5780633659cfe61461016a5780633a871cdd146101655780633e1b08121461016057806351166ba01461015b578063519454471461015657806354fd4d501461015157806355b14f501461014c57806357b750471461014757806384b0196e1461014257806388e7fd061461013d578063b0d691fe14610138578063bc197c8114610133578063d087d2881461012e578063d1f5789414610129578063d5416221146101245763f23a6e610361000e57610fef565b610f5d565b610ec1565b610e42565b610db3565b610d3e565b610d09565b610c61565b610c2a565b610b44565b610af0565b6109eb565b610922565b61085e565b61081c565b610776565b610693565b61060e565b610466565b610413565b610386565b610307565b6102d3565b600091031261019d57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101cb57604052565b6101a2565b606081019081106001600160401b038211176101cb57604052565b608081019081106001600160401b038211176101cb57604052565b604081019081106001600160401b038211176101cb57604052565b90601f801991011681019081106001600160401b038211176101cb57604052565b6040519061024f826101eb565b565b6040519061016082018281106001600160401b038211176101cb57604052565b6040519061027e82610206565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102bf575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161029e565b3461019d57600036600319011261019d576103036102ef610271565b604051918291602083526020830190610293565b0390f35b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b0381160361019d57565b359061024f8261033d565b9181601f8401121561019d578235916001600160401b03831161019d576020838186019501011161019d57565b3461019d57608036600319011261019d576103a260043561033d565b6103ad60243561033d565b6064356001600160401b03811161019d576103cc903690600401610359565b5050604051630a85bd0160e11b8152602090f35b90604060031983011261019d5760043591602435906001600160401b03821161019d5761040f91600401610359565b9091565b3461019d57602061042c610426366103e0565b91611b5b565b6040516001600160e01b03199091168152f35b600435906001600160e01b03198216820361019d57565b65ffffffffffff81160361019d57565b60c036600319011261019d5761047a61043f565b602435906104878261033d565b604435906104948261033d565b6064356104a081610456565b608435936104ad85610456565b60a4356001600160401b03811161019d576104cc903690600401610359565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610604575b6105f25784926105396105659261052a61051c610242565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261056087611049565b61172b565b1693843b1561019d576040519063064acaab60e11b8252818061058f6000998a94600484016117de565b038183895af180156105ed576105d4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b806105e16105e7926101b8565b80610192565b386105a0565b611475565b604051637046c88d60e01b8152600490fd5b5030331415610504565b3461019d576020610627610621366103e0565b91611e13565b604051908152f35b9291926001600160401b0382116101cb5760405191610658601f8201601f191660200184610221565b82948184528183011161019d578281602093846000960137010152565b9080601f8301121561019d578160206106909335910161062f565b90565b60208060031936011261019d576001600160401b0360043581811161019d573660238201121561019d578060040135918083116101cb578260051b906040908151946106e187850187610221565b855285850191602480948601019436861161019d57848101935b86851061070b5761001b88611144565b843584811161019d5782016060602319823603011261019d57835191610730836101d0565b8782013561073d8161033d565b835260448201358b84015260648201359286841161019d576107678c94938a869536920101610675565b868201528152019401936106fb565b602036600319011261019d5760043561078e8161033d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610812575b6105f257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107c3565b60031960603682011261019d57600435906001600160401b03821161019d5761016090823603011261019d576106276020916044359060243590600401611481565b3461019d57602036600319011261019d576004356001600160c01b0381169081900361019d57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f4575b506040519081529081906020820190565b610915915060203d811161091b575b61090d8183610221565b810190611396565b386108e3565b503d610903565b3461019d57602036600319011261019d5761030361096761094161043f565b60006060604051610951816101eb565b8281528260208201528260408201520152611049565b60405190610974826101eb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b608036600319011261019d57600435610a038161033d565b6044356001600160401b03811161019d57610a22903690600401610675565b90606435600281101561019d57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ac5575b80610ab0575b6105f257610a75816110fa565b610a9e576000828193926020839451920190602435905af13d82803e15610a9a573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ac0610abc611c13565b1590565b610a68565b5030331415610a62565b60405190610adc82610206565b6005825264181719171960d91b6020830152565b3461019d57600036600319011261019d576103036102ef610acf565b90604060031983011261019d57600435610b258161033d565b91602435906001600160401b03821161019d5761040f91600401610359565b610b4d36610b0c565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c20575b6105f25780600080516020611fcf8339815191525460501c1691610ba681611eff565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c1c578385610bfa819593829463064acaab60e11b8452600484016117de565b03925af180156105ed57610c0c575080f35b806105e1610c19926101b8565b80f35b8380fd5b5030331415610b83565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525460e01b6040519063ffffffff60e01b168152f35b3461019d57600036600319011261019d57610cb7610c7d610271565b610c85610acf565b90604051928392600f60f81b8452610ca960209360e08587015260e0860190610293565b908482036040860152610293565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cf257505050500390f35b835185528695509381019392810192600101610ce3565b3461019d57600036600319011261019d576020600080516020611fcf8339815191525465ffffffffffff60405191831c168152f35b3461019d57600036600319011261019d576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f8401121561019d578235916001600160401b03831161019d576020808501948460051b01011161019d57565b3461019d5760a036600319011261019d57610dcf60043561033d565b610dda60243561033d565b6001600160401b0360443581811161019d57610dfa903690600401610d83565b505060643581811161019d57610e14903690600401610d83565b505060843590811161019d57610e2e903690600401610359565b505060405163bc197c8160e01b8152602090f35b3461019d57600036600319011261019d57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156105ed57610303916000916108f457506040519081529081906020820190565b610eca36610b0c565b600080516020611fcf83398151915254919290916001600160a01b03919060501c8216610f4c57610efa81611eff565b1691823b1561019d57610f2f926000928360405180968195829463064acaab60e11b84526020600485015260248401916117bd565b03925af180156105ed57610f3f57005b806105e161001b926101b8565b60405162dc149f60e41b8152600490fd5b602036600319011261019d57610f7161043f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610fe5575b6105f257600080516020611fcf83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415610fa4565b3461019d5760a036600319011261019d5761100b60043561033d565b61101660243561033d565b6084356001600160401b03811161019d57611035903690600401610359565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061109781356001600160e01b031916611049565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110eb575b6105f257818091368280378136915af43d82803e15610a9a573d90f35b506110f4611c13565b156110ce565b6002111561110457565b634e487b7160e01b600052602160045260246000fd5b805182101561112e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111d1575b6105f25780519060005b82811061118d57505050565b60008061119a838561111a565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156111cc57600101611181565b3d6000fd5b506111dd610abc611c13565b611177565b9060041161019d5790600490565b909291928360041161019d57831161019d57600401916003190190565b9060241161019d5760100190601490565b9060581161019d5760380190602090565b9060241161019d5760040190602090565b9060381161019d5760240190601490565b90600a1161019d5760040190600690565b9060101161019d57600a0190600690565b9093929384831161019d57841161019d578101920390565b6001600160e01b031990358181169392600481106112a857505050565b60040360031b82901b16169150565b91906101608382031261019d576112cc610251565b926112d68161034e565b8452602081013560208501526040810135916001600160401b039283811161019d5781611304918401610675565b6040860152606082013583811161019d5781611321918401610675565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e086015261010080830135908601526101208083013584811161019d5782611373918501610675565b90860152610140928383013590811161019d576113909201610675565b90830152565b9081602091031261019d575190565b606080825282516001600160a01b0316908201529193929160409161146b9060208101516080840152838101516113ea610160918260a08701526101c0860190610293565b9061145861140a606085015193605f1994858983030160c08a0152610293565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b0152870151908901528501518488830301610180890152610293565b92015190848303016101a0850152610293565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f00000000000000000000000000000000000000000000000000000000000000008516330361169f576004948535928361014481013501918760248401930135946114e06114da87866111e2565b9061128b565b926001600160e01b031980851691821561167c576114ff9036906112b7565b94611519600080516020611fcf8339815191525460e01b90565b1616156115315760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361162b575090602095966115bb61158961157061156b6114da87606460009901350160248782013591016111e2565b611049565b6001810154909a9081906001600160a01b0316986111f0565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b61161d575b369161062f565b6101408501526115df604051998a9788968794633a871cdd60e01b865285016113a5565b0393165af19081156105ed57610690926000926115fd575b50611f4c565b61161691925060203d811161091b5761090d8183610221565b90386115f7565b348080808f335af1506115b4565b9095939190600160e11b0361166f576116656115bb946000936116606114da8a606460209c01350160248d82013591016111e2565b6117ef565b91999296916115ae565b5050505050505050600190565b9697505050505050506106909394508215611d47573434343486335af150611d47565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106116d357505050565b60140360031b82901b16169150565b3590602081106116f0575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061171c57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106909381815201916117bd565b91906117fb828261120d565b611804916116b1565b60601c93611812838361121e565b61181b916116e2565b605883016078820194858360580190611835918388611273565b61183e916116e2565b611848828761122f565b611851916116e2565b61185b8388611240565b611864916116b1565b60601c61187236878761062f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906118e860c082610221565b5190206118f490611a47565b9084019660788801611907918489611273565b9061191192611e13565b61191b828761122f565b6001600160a01b03199161192f91906116e2565b1661193991611f4c565b9660788688010196820360771901956119528382611251565b61195b916116ff565b60d01c926119698183611262565b611972916116ff565b60d01c916119808282611240565b611989916116b1565b60601c916119969161120d565b61199f916116b1565b60601c916119ab610242565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b031660608301526119e990611049565b906119f39161172b565b6001600160a01b03871691823b1561019d57611a29926000928360405180968195829463064acaab60e11b8452600484016117de565b03925af180156105ed57611a3a5750565b806105e161024f926101b8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611ad4575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611ab5565b90611b669291611e13565b65ffffffffffff808260a01c16908115600114611bd1575b428360d01c11611bc15742911610611bb4576001600160a01b0316611ba857630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611b7e565b9081602091031261019d5751801515810361019d5790565b6001600160a01b0390911681526040602082018190526106909291019061179b565b611c1d3633611e7b565b611d4257611c366000356001600160e01b031916611049565b6001810154611c55906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611d06575b8115611cdb575b5015611c7c5750600090565b60206040518092639ea9bd5960e01b82528180611c9d363360048401611bf1565b03915afa9081156105ed57600091611cb3575090565b610690915060203d8111611cd4575b611ccc8183610221565b810190611bd9565b503d611cc2565b54611cf5915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611c70565b905065ffffffffffff611d26611cea835465ffffffffffff9060301c1690565b168015159081611d38575b5090611c69565b9050421138611d31565b600190565b9091611d5336836112b7565b610140928381013590601e198136030182121561019d5701938435946001600160401b03861161019d5760200193853603851361019d57611d9d6115b487611de5986020986111f0565b908301526000611dc7611c49600080516020611fcf8339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b8552600485016113a5565b03925af19081156105ed57600091611dfb575090565b610690915060203d811161091b5761090d8183610221565b600080516020611fcf833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611e65916044840191906117bd565b03915afa9081156105ed57600091611dfb575090565b600080516020611fcf8339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611c9d90604483019061179b565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b600080516020611fcf83398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8082186001600160a01b031615600114611f67575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415611fc5575b81168015611fbe575b848110908518028085189414611fb6575b5081811190821802181790565b925038611fa9565b5080611f98565b93508093611f8f56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; address constant EXPECTED_KERNEL_LITE_2_2_ADDRESS = 0xbEdb61Be086F3f15eE911Cc9AB3EEa945DEbFa96; - bytes constant KERNEL_LITE_2_2_CODE = hex"0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390"; - function deploy() internal returns(address, address) { + bytes constant KERNEL_LITE_2_2_CODE = + hex"0000000000000000000000000000000000000000000000000000000000000000610160346200021357601f6200230b38819003918201601f19168301916001600160401b0383118484101762000218578084926040948552833981010312620002135780516001600160a01b039182821682036200021357602001519182168092036200021357306080524660a05260a06200007a6200022e565b600681526005602082016512d95c9b995b60d21b815260206200009c6200022e565b838152019264181719171960d91b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b0319825416179055604051916120bc93846200024f853960805184611b7c015260a05184611b9f015260c05184611c11015260e05184611c3701525183611b5b0152518281816104fb015281816107ba015281816108c701528181610a5201528181610b7301528181610d1201528181610e780152818161101c01528181611114015281816111c40152818161126d01526115c2015251818181610e160152610ed90152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620002185760405256fe6080604052600436101561001d575b366111a75761001b611e6b565b005b60003560e01c806306fdde03146101ad5780630b3dc354146101a8578063150b7a02146101a35780631626ba7e1461019e57806329f8b17414610199578063333daf921461019457806334fcd5be1461018f5780633659cfe61461018a5780633a871cdd146101855780633e1b08121461018057806351166ba01461017b578063519454471461017657806354fd4d501461017157806355b14f501461016c57806357b750471461016757806384b0196e1461016257806388e7fd061461015d578063b0d691fe14610158578063bc197c8114610153578063cdaea3ed1461014e578063d087d28814610149578063d1f5789414610144578063d54162211461013f578063f23a6e611461013a5763f2fde38b0361000e576110f1565b611097565b611005565b610ec4565b610e45565b610e00565b610d71565b610cfc565b610cc7565b610c1f565b610be8565b610b64565b610b10565b610a0b565b610942565b61087e565b61083c565b610796565b6106b3565b61062e565b610486565b610433565b6103a6565b610327565b6102f3565b60009103126101bd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101eb57604052565b6101c2565b606081019081106001600160401b038211176101eb57604052565b608081019081106001600160401b038211176101eb57604052565b604081019081106001600160401b038211176101eb57604052565b90601f801991011681019081106001600160401b038211176101eb57604052565b6040519061026f8261020b565b565b6040519061016082018281106001600160401b038211176101eb57604052565b6040519061029e82610226565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102df575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102be565b346101bd5760003660031901126101bd5761032361030f610291565b6040519182916020835260208301906102b3565b0390f35b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101bd57565b359061026f8261035d565b9181601f840112156101bd578235916001600160401b0383116101bd57602083818601950101116101bd57565b346101bd5760803660031901126101bd576103c260043561035d565b6103cd60243561035d565b6064356001600160401b0381116101bd576103ec903690600401610379565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101bd5760043591602435906001600160401b0382116101bd5761042f91600401610379565b9091565b346101bd57602061044c61044636610400565b91611c6d565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101bd57565b65ffffffffffff8116036101bd57565b60c03660031901126101bd5761049a61045f565b602435906104a78261035d565b604435906104b48261035d565b6064356104c081610476565b608435936104cd85610476565b60a4356001600160401b0381116101bd576104ec903690600401610379565b9590946001600160a01b0393337f00000000000000000000000000000000000000000000000000000000000000008616141580610624575b6106125784926105596105859261054a61053c610262565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105808761116f565b611869565b1693843b156101bd576040519063064acaab60e11b825281806105af6000998a94600484016118d9565b038183895af1801561060d576105f4575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b80610601610607926101d8565b806101b2565b386105c0565b6115a9565b604051637046c88d60e01b8152600490fd5b5030331415610524565b346101bd57602061064761064136610400565b91611f94565b604051908152f35b9291926001600160401b0382116101eb5760405191610678601f8201601f191660200184610241565b8294818452818301116101bd578281602093846000960137010152565b9080601f830112156101bd578160206106b09335910161064f565b90565b6020806003193601126101bd576001600160401b036004358181116101bd57366023820112156101bd578060040135918083116101eb578260051b9060409081519461070187850187610241565b85528585019160248094860101943686116101bd57848101935b86851061072b5761001b8861126a565b84358481116101bd578201606060231982360301126101bd57835191610750836101f0565b8782013561075d8161035d565b835260448201358b8401526064820135928684116101bd576107878c94938a869536920101610695565b8682015281520194019361071b565b60203660031901126101bd576004356107ae8161035d565b6001600160a01b0390337f00000000000000000000000000000000000000000000000000000000000000008316141580610832575b61061257807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107e3565b6003196060368201126101bd57600435906001600160401b0382116101bd576101609082360301126101bd5761064760209160443590602435906004016115b5565b346101bd5760203660031901126101bd576004356001600160c01b038116908190036101bd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d5761032391600091610914575b506040519081529081906020820190565b610935915060203d811161093b575b61092d8183610241565b8101906114ca565b38610903565b503d610923565b346101bd5760203660031901126101bd5761032361098761096161045f565b600060606040516109718161020b565b828152826020820152826040820152015261116f565b604051906109948261020b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101bd57600435610a238161035d565b6044356001600160401b0381116101bd57610a42903690600401610695565b9060643560028110156101bd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610ae5575b80610ad0575b61061257610a9581611220565b610abe576000828193926020839451920190602435905af13d82803e15610aba573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610ae0610adc611d3c565b1590565b610a88565b5030331415610a82565b60405190610afc82610226565b6005825264181719171960d91b6020830152565b346101bd5760003660031901126101bd5761032361030f610aef565b9060406003198301126101bd57600435610b458161035d565b91602435906001600160401b0382116101bd5761042f91600401610379565b610b6d36610b2c565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610bde575b6106125760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610ba3565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525460e01b6040519063ffffffff60e01b168152f35b346101bd5760003660031901126101bd57610c75610c3b610291565b610c43610aef565b90604051928392600f60f81b8452610c6760209360e08587015260e08601906102b3565b9084820360408601526102b3565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cb057505050500390f35b835185528695509381019392810192600101610ca1565b346101bd5760003660031901126101bd57602060008051602061207c8339815191525465ffffffffffff60405191831c168152f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9181601f840112156101bd578235916001600160401b0383116101bd576020808501948460051b0101116101bd57565b346101bd5760a03660031901126101bd57610d8d60043561035d565b610d9860243561035d565b6001600160401b036044358181116101bd57610db8903690600401610d41565b50506064358181116101bd57610dd2903690600401610d41565b50506084359081116101bd57610dec903690600401610379565b505060405163bc197c8160e01b8152602090f35b346101bd5760003660031901126101bd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101bd5760003660031901126101bd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa801561060d576103239160009161091457506040519081529081906020820190565b610ecd36610b2c565b916001600160a01b03907f0000000000000000000000000000000000000000000000000000000000000000821690821603610fb55760008051602061209c8339815191525416610f6457610f30610f2a61001b93610f3693611308565b906117ef565b60601c90565b60008051602061209c83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101bd5761101961045f565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031614158061108d575b6106125760008051602061207c83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561104c565b346101bd5760a03660031901126101bd576110b360043561035d565b6110be60243561035d565b6084356001600160401b0381116101bd576110dd903690600401610379565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101bd576004356111098161035d565b6001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580611165575b6106125760008051602061209c83398151915280546001600160a01b03191691909216179055005b503033141561113d565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b60006111bd81356001600160e01b03191661116f565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611211575b61061257818091368280378136915af43d82803e15610aba573d90f35b5061121a611d3c565b156111f4565b6002111561122a57565b634e487b7160e01b600052602160045260246000fd5b80518210156112545760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112f7575b6106125780519060005b8281106112b357505050565b6000806112c08385611240565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112f2576001016112a7565b3d6000fd5b50611303610adc611d3c565b61129d565b906014116101bd5790601490565b906004116101bd5790600490565b90929192836004116101bd5783116101bd57600401916003190190565b906024116101bd5760100190601490565b906058116101bd5760380190602090565b906024116101bd5760040190602090565b906038116101bd5760240190601490565b90600a116101bd5760040190600690565b906010116101bd57600a0190600690565b909392938483116101bd5784116101bd578101920390565b6001600160e01b031990358181169392600481106113dc57505050565b60040360031b82901b16169150565b9190610160838203126101bd57611400610271565b9261140a8161036e565b8452602081013560208501526040810135916001600160401b03928381116101bd5781611438918401610695565b604086015260608201358381116101bd5781611455918401610695565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101bd57826114a7918501610695565b9086015261014092838301359081116101bd576114c49201610695565b90830152565b908160209103126101bd575190565b606080825282516001600160a01b0316908201529193929160409161159f90602081015160808401528381015161151e610160918260a08701526101c08601906102b3565b9061158c61153e606085015193605f1994858983030160c08a01526102b3565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102b3565b92015190848303016101a08501526102b3565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036117dd5760049485359283610144810135019187602484019301359461161461160e8786611316565b906113bf565b926001600160e01b03198085169182156117b0576116339036906113eb565b9461164d60008051602061207c8339815191525460e01b90565b1616156116655760405163fc2f51c560e01b81528a90fd5b97989697600160e01b810361175f575090602095966116ef6116bd6116a461169f61160e8760646000990135016024878201359101611316565b61116f565b6001810154909a9081906001600160a01b031698611324565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611751575b369161064f565b610140850152611713604051998a9788968794633a871cdd60e01b865285016114d9565b0393165af190811561060d576106b092600092611731575b50611ff9565b61174a91925060203d811161093b5761092d8183610241565b903861172b565b348080808f335af1506116e8565b9095939190600160e11b036117a3576117996116ef9460009361179461160e8a606460209c01350160248d8201359101611316565b611901565b91999296916116e2565b5050505050505050600190565b9750505050505050916106b0939450806117cb575b50611e9c565b3490349034903490335af150386117c5565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff19903581811693926014811061181157505050565b60140360031b82901b16169150565b35906020811061182e575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061185a57505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b919061190d8282611341565b611916916117ef565b60601c936119248383611352565b61192d91611820565b6058830160788201948583605801906119479183886113a7565b61195091611820565b61195a8287611363565b61196391611820565b61196d8388611374565b611976916117ef565b60601c61198436878761064f565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119fa60c082610241565b519020611a0690611b59565b9084019660788801611a199184896113a7565b90611a2392611f94565b611a2d8287611363565b6001600160a01b031991611a419190611820565b16611a4b91611ff9565b966078868801019682036077190195611a648382611385565b611a6d9161183d565b60d01c92611a7b8183611396565b611a849161183d565b60d01c91611a928282611374565b611a9b916117ef565b60601c91611aa891611341565b611ab1916117ef565b60601c91611abd610262565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611afb9061116f565b90611b0591611869565b6001600160a01b03871691823b156101bd57611b3b926000928360405180968195829463064acaab60e11b8452600484016118d9565b03925af1801561060d57611b4c5750565b8061060161026f926101d8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611be6575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611bc7565b90611c789291611f94565b65ffffffffffff808260a01c16908115600114611ce3575b428360d01c11611cd35742911610611cc6576001600160a01b0316611cba57630b135d3f60e11b90565b6001600160e01b031990565b506001600160e01b031990565b506001600160e01b031992915050565b905080611c90565b908160209103126101bd575180151581036101bd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061209c833981519152546001600160a01b039081163314611e6557611d726000356001600160e01b03191661116f565b60018101546001600160a01b031691821615908115611e29575b8115611dfe575b5015611d9f5750600090565b60206040518092639ea9bd5960e01b82528180611dc0363360048401611d03565b03915afa90811561060d57600091611dd6575090565b6106b0915060203d8111611df7575b611def8183610241565b810190611ceb565b503d611de5565b54611e18915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611d93565b905065ffffffffffff611e49611e0d835465ffffffffffff9060301c1690565b168015159081611e5b575b5090611d8c565b9050421138611e54565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b90611ecc906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101bd5701908135916001600160401b0383116101bd576020019180360383136101bd576116e881611f1392611f1995611324565b90611f45565b60008051602061209c833981519152546001600160a01b03908116911603611f4057600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15611f86576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c600420611fcd9291611f139192369161064f565b60008051602061209c833981519152546001600160a01b03918216911614611ff457600190565b600090565b8082186001600160a01b031615600114612014575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612072575b8116801561206b575b848110908518028085189414612063575b5081811190821802181790565b925038612056565b5080612045565b9350809361203c56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390"; + + function deploy() internal returns (address, address) { DeterministicDeploy.checkDeploy("Kernel 2.2", EXPECTED_KERNEL_2_2_ADDRESS, KERNEL_2_2_CODE); DeterministicDeploy.checkDeploy("Kernel lite 2.2", EXPECTED_KERNEL_LITE_2_2_ADDRESS, KERNEL_LITE_2_2_CODE); return (EXPECTED_KERNEL_2_2_ADDRESS, EXPECTED_KERNEL_LITE_2_2_ADDRESS); diff --git a/script/deterministic/Kernel2_3.s.sol b/script/deterministic/Kernel2_3.s.sol index 1bcf2928..fdac0b61 100644 --- a/script/deterministic/Kernel2_3.s.sol +++ b/script/deterministic/Kernel2_3.s.sol @@ -4,12 +4,14 @@ import "./DeterministicDeploy.s.sol"; library Kernel_2_3_Deploy { address constant EXPECTED_KERNEL_2_3_ADDRESS = 0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab; - bytes constant KERNEL_2_3_CODE = hex"000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; + bytes constant KERNEL_2_3_CODE = + hex"000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789"; address constant EXPECTED_KERNEL_LITE_2_3_ADDRESS = 0x482EC42E88a781485E1B6A4f07a0C5479d183291; - bytes constant KERNEL_LITE_2_3_CODE = hex"0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390"; + bytes constant KERNEL_LITE_2_3_CODE = + hex"0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390"; - function deploy() internal returns(address, address){ + function deploy() internal returns (address, address) { DeterministicDeploy.checkDeploy("Kernel 2.3", EXPECTED_KERNEL_2_3_ADDRESS, KERNEL_2_3_CODE); DeterministicDeploy.checkDeploy("Kernel Lite 2.3", EXPECTED_KERNEL_LITE_2_3_ADDRESS, KERNEL_LITE_2_3_CODE); return (EXPECTED_KERNEL_2_3_ADDRESS, EXPECTED_KERNEL_LITE_2_3_ADDRESS); diff --git a/script/deterministic/SessionKey.s.sol b/script/deterministic/SessionKey.s.sol index 14cc5468..157c855f 100644 --- a/script/deterministic/SessionKey.s.sol +++ b/script/deterministic/SessionKey.s.sol @@ -4,8 +4,10 @@ import "./DeterministicDeploy.s.sol"; library SessionKeyDeploy { address constant EXPECTED_SESSIONKEY_ADDRESS = 0xB8E3c4bEaACAd06f6092793012DA4a8cB23D6123; - bytes constant SESSIONKEY_CODE = hex"0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056"; - function deploy() internal returns(address) { + bytes constant SESSIONKEY_CODE = + hex"0000000000000000000000000000000000000000000000000000000000000000608080604052346100165761156e908161001c8239f35b600080fdfe60806040908082526004908136101561001757600080fd5b600092833560e01c9182630c9595561461034d57508163333daf921461031a5781633a871cdd146102d657816346585db21461027d57816352721fdd146102005781637ecebe00146101b8578382638fc925aa1461010b575081639ea9bd59146100bd575063dbba225d1461008b57600080fd5b346100b95760203660031901126100b957356001600160801b03811681036100b9576100b6906105d7565b80f35b5080fd5b905082346101085781600319360112610108576100d8610533565b50602435906001600160401b03821161010857506100f990369084016104eb565b50505163d623472560e01b8152fd5b80fd5b8091846020600319360112610170578035906001600160401b0382116101b357610137913691016104eb565b9091906014810361017457601411610170576002913560601c835260016020528083203384526020528220828155826001820155015580f35b5050fd5b9192506010820361019457506010116100b9576100b6903560801c6105d7565b6100b692506001600160801b03915033845283602052832054166105d7565b505050fd5b8390346100b95760203660031901126100b9579081906001600160a01b036101de610533565b1681528060205220548151906001600160801b038116825260801c6020820152f35b8390346100b957806003193601126100b9578060a09261021e610533565b61022661051d565b90600180871b03809116835260016020528383209116825260205220908154916002600182015491015491805193845265ffffffffffff80831660208601528260301c169084015260601c60608301526080820152f35b919050346102d257816003193601126102d25791819261029b61051d565b9035825260026020528282209060018060a01b03168252602052205481519065ffffffffffff90818116835260301c166020820152f35b8280fd5b91905060031992606084360112610108578135936001600160401b0385116100b95761016090853603011261010857506020926103139101610934565b9051908152f35b90508234610108578160031936011261010857602435906001600160401b03821161010857506100f990369084016104eb565b8492509060203660031901126102d2576001600160401b039184358381116104e35761037c90369087016104eb565b806014116104e757806034116104e75780603a116104e7578084116104e757806054116104e7576074116104e35760548101359360a08301908111838210176104d0579060029184526014810135835260208301603482013560d01c815284840190603a83013560d01c825261046160608601918785013560601c835260808701948986523560601c8a526001602052878a20338b52602052878a2096518755600187019365ffffffffffff8092511665ffffffffffff198654161785555116839065ffffffffffff60301b82549160301b169065ffffffffffff60301b1916179055565b516bffffffffffffffffffffffff82549181199060601b16911617905551910155826020528220908154916001600160801b038084168181146104bd576100b69596506001011680936001600160801b03191617905514610580565b634e487b7160e01b865260118752602486fd5b634e487b7160e01b865260418752602486fd5b8480fd5b8580fd5b9181601f84011215610518578235916001600160401b038311610518576020838186019501011161051857565b600080fd5b602435906001600160a01b038216820361051857565b600435906001600160a01b038216820361051857565b90601f801991011681019081106001600160401b0382111761056a57604052565b634e487b7160e01b600052604160045260246000fd5b1561058757565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a20696e76616c6964206e6f6e604482015261636560f01b6064820152608490fd5b600033815280602052604080822054916105ff6001600160801b0385169360801c8411610580565b3381528060205220916001600160801b03199060801b16179055565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191813603831361051857565b356001600160a01b03811681036105185790565b1561066857565b60405162461bcd60e51b8152602060048201526024808201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6044820152630c2e8c6d60e31b6064820152608490fd5b156106c057565b60405162461bcd60e51b815260206004820152602960248201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460448201526808195e18d95959195960ba1b6064820152608490fd5b1561071e57565b60405162461bcd60e51b815260206004820152603360248201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206044820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b6064820152608490fd5b3563ffffffff811681036105185790565b359065ffffffffffff8216820361051857565b602091828252610120820190803563ffffffff81168091036105185784840152808401356001600160a01b038116949085900361051857604094858501528482013563ffffffff60e01b811680910361051857606090818601528083013560808601526080830135601e1984360301811215610518578301918083359301966001600160401b03841161051857828402360388136105185792919082610100968760a08a01525261014087019793600080925b8584106108a3575050505050505061089c60e065ffffffffffff928361087e60a08301610790565b1660c08701528361089160c08301610790565b168287015201610790565b1691015290565b909192939495998a358152818b013560068110156108da57828201528a840135848201528501998501959493600101929190610856565b8380fd5b9092916001600160401b03841161056a578360051b604051926020809461090782850182610549565b809781520191810192831161051857905b8282106109255750505050565b81358152908301908301610918565b6101408101610943818361061b565b601411610518573560601c90600082815260019360209085825260408084203385528352808420936002850180548286528383205460801c1015610d0b578886019687548060601c8b8114600014610c8757506109a461012087018761061b565b905015610c34575b875415610c10575060608501926109c3848761061b565b6004939193116100b95782356001600160e01b031916635194544760e01b8103610b7057506109f2908761061b565b6055959195116100b9576055850135850190605582019560758101350197610a1a828261061b565b6024116104e357610a53929190610a4e9060106001600160a01b03610a416075890161064d565b1691013560601c14610661565b61061b565b6044939193116101085750610a9685610ae994610a82610acc9795602460b5610a9b97013591013511156106b9565b604481013501602460048201359101611388565b610717565b54610aa58461077f565b855188810192835260e09190911b6001600160e01b03191660208301529283906024830190565b0392610ae0601f1994858101835282610549565b51902083610ed8565b96549465ffffffffffff9687871680898b1610610b66575b50610b2f610b4393610b4897969593610b2393549651938491820195866107a3565b03908101835282610549565b5190209236906075605582013591016108de565b610d64565b15610b5f57610b5c945060301c1691610dbb565b90565b5050505090565b9850610b2f610b01565b94509450949650945050631a7e6adf60e19896981b14600014610c0657610b97818561061b565b6055116102d25790816055610baf930135019461061b565b605592919211610108575090816075610be19493013501916075605584013593019160756055830135920190876110f7565b919091610bff575065ffffffffffff610b5c935460301c1691610dbb565b9250505090565b5050505091505090565b98975050505050505050610b5c925065ffffffffffff808360301c16921690610dbb565b845162461bcd60e51b815260048101889052602660248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206e6044820152651bdd081cd95d60d21b6064820152608490fd5b80610c93575b506109ac565b610ca161012088018861061b565b6014116104e7573560601c03610cb75738610c8d565b845162461bcd60e51b815260048101889052602760248201527f53657373696f6e4b657956616c696461746f723a207061796d6173746572206d6044820152660d2e6dac2e8c6d60cb1b6064820152608490fd5b825162461bcd60e51b815260048101869052602c60248201527f53657373696f6e4b657956616c696461746f723a2073657373696f6e206b657960448201526b081b9bdd08195b98589b195960a21b6064820152608490fd5b919091805180610d75575b50501490565b91906020908180820191600595861b0101925b81518111851b90815282825191185281604060002091019383851015610daf579390610d88565b50925050503880610d6f565b919091600435610144810135016024356020526000907b19457468657265756d205369676e6564204d6573736167653a0a33328252603c6004206040908151608081018181106001600160401b03821117610eb15783526041815260208101933660798201116104e75785604160209486600195836038608097018b3784606182015281519981519386526060820151861a89525182520151606052145afa51923d15610ea457606052526001600160a01b03908116911603610e9d5760d09190911b6001600160d01b03191660a09190911b65ffffffffffff60a01b161790565b5050600190565b638baa579f90526004601cfd5b634e487b7160e01b86526041600452602486fd5b3565ffffffffffff811681036105185790565b9065ffffffffffff60a0830160c0840182610ef282610ec5565b16610ff15750610f0360e091610ec5565b935b019181610f1184610ec5565b16610f1d575b50505090565b60009081526002602052604081203382526020526040812090600183835460301c160190838211610fdd575081546bffffffffffff000000000000191660309190911b65ffffffffffff60301b16178155610f7f9082905460301c1692610ec5565b1610610f8d57388080610f17565b60405162461bcd60e51b815260206004820152602260248201527f53657373696f6e4b657956616c696461746f723a2072756e7320657863656564604482015261195960f21b6064820152608490fd5b634e487b7160e01b81526011600452602490fd5b939082610ffd82610ec5565b161561107957600084815260026020526040812033825260205260408120918483549781891692831515600014611060575061103890610ec5565b160190848211610fdd5750908360e0939216955b65ffffffffffff1916868516179055610f05565b91505060e0949392506110739150610ec5565b9561104c565b60405162461bcd60e51b815260206004820152602b60248201527f53657373696f6e4b657956616c696461746f723a20696e76616c69642065786560448201526a637574696f6e2072756c6560a81b6064820152608490fd5b60001981146110e15760010190565b634e487b7160e01b600052601160045260246000fd5b94959391909160009560018060a01b03166000526001968760205260406000203360005260205260406000209365ffffffffffff89860154169560005b6004808401358401013581101561134857600483013583013681900360821901600583901b909101602401351215610518578181101561132a5760fe19863603018160051b870135121561051857611217610a9661120860248460051b600488013588010101356004870135870101606460248201916111e56111b68461064d565b8d6111d2602060018060a01b03928c60051b810135010161064d565b6001600160a01b03909216911614610661565b61120160608d8960051b810135010135604483013511156106b9565b019061061b565b8460051b8a01358a0191611388565b61127e600288015461125f61126d6112368560051b8b01358b0161077f565b604080516020810195865260e09290921b6001600160e01b031916908201529182906044820190565b03601f198101835282610549565b5190208260051b8801358801610ed8565b65ffffffffffff891665ffffffffffff821611611340575b508381101561132a578060051b850135601e19863603018112156105185785018035906001600160401b03821161051857602001908060051b360382136105185761130a91610b438a54918a6040516112ff8161125f60208201948b60051b81013501856107a3565b5190209336916108de565b1561131d57611318906110d2565b611134565b5095989750505050505050565b634e487b7160e01b600052603260045260246000fd5b975038611296565b505050505050509250565b903590601e198136030182121561051857018035906001600160401b0382116105185760200191606082023603831361051857565b600490828211610518576040908185013563ffffffff60e01b80821680920361051857823516036115645760005b608086016113c48188611353565b9050821015611558576113d79087611353565b821015611543576060820201803580860180871161152e57602480830180921161151b57508710610518578301850135602082013560068110156105185780158061150e575b1561143057505050505050505050600090565b6001811480611501575b1561144d57505050505050505050600090565b60028114806114f4575b1561146a57505050505050505050600090565b60038114806114e8575b1561148757505050505050505050600090565b868114806114dc575b156114a357505050505050505050600090565b600586911492836114cf575b5050506114c4576114bf906110d2565b6113b6565b505050505050600090565b01351490503884816114af565b50858301358211611490565b50858301358210611474565b5085830135821015611457565b508583013582111561143a565b508583013582141561141d565b634e487b7160e01b600090815260118952fd5b601187634e487b7160e01b6000525260246000fd5b603285634e487b7160e01b6000525260246000fd5b50505050505050600190565b505050505060009056"; + + function deploy() internal returns (address) { DeterministicDeploy.checkDeploy("SessionKey", EXPECTED_SESSIONKEY_ADDRESS, SESSIONKEY_CODE); return EXPECTED_SESSIONKEY_ADDRESS; } diff --git a/src/validator/P256Validator.sol b/src/validator/P256Validator.sol deleted file mode 100644 index fbbe7c1a..00000000 --- a/src/validator/P256Validator.sol +++ /dev/null @@ -1,83 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity ^0.8.0; - -import {UserOperation} from "I4337/interfaces/UserOperation.sol"; -import {ECDSA} from "solady/utils/ECDSA.sol"; -import {IKernelValidator} from "../interfaces/IKernelValidator.sol"; -import {ValidationData} from "../common/Types.sol"; -import {SIG_VALIDATION_FAILED} from "../common/Constants.sol"; -import {P256} from "p256-verifier/P256.sol"; - -/// @title P256Validator -/// @notice This validator uses the P256 curve to validate signatures. -contract P256Validator is IKernelValidator { - /// @notice Emitted when a bad key is provided. - error BadKey(); - - /// @notice Emitted when the public key of a kernel is changed. - event P256PublicKeysChanged(address indexed kernel, PublicKey newKeys); - - /// @notice The P256 public key of a kernel. - struct PublicKey { - uint256 x; - uint256 y; - } - - /// @notice The P256 public keys of a kernel. - mapping(address kernel => PublicKey PublicKey) public p256PublicKey; - - /// @notice Enable this validator for a kernel account. - /// @dev The kernel account need to be the `msg.sender`. - /// @dev The public key is encoded as `abi.encode(PublicKey)` inside the data, so (uint256,uint256). - function enable(bytes calldata _data) external payable override { - PublicKey memory key = abi.decode(_data, (PublicKey)); - if (key.x == 0 || key.y == 0) { - revert BadKey(); - } - // Update the key (so a sstore) - p256PublicKey[msg.sender] = key; - // And emit the event - emit P256PublicKeysChanged(msg.sender, key); - } - - /// @notice Disable this validator for a kernel account. - /// @dev The kernel account need to be the `msg.sender`. - function disable(bytes calldata) external payable override { - delete p256PublicKey[msg.sender]; - } - - /// @notice Validate a user operation. - function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) - external - payable - override - returns (ValidationData validationData) - { - (uint256 r, uint256 s) = abi.decode(_userOp.signature, (uint256, uint256)); - PublicKey memory key = p256PublicKey[_userOp.sender]; - if (P256.verifySignature(_userOpHash, r, s, key.x, key.y)) { - return ValidationData.wrap(0); - } - return SIG_VALIDATION_FAILED; - } - - /// @notice Validate a signature. - function validateSignature(bytes32 hash, bytes calldata signature) - external - view - override - returns (ValidationData) - { - (uint256 r, uint256 s) = abi.decode(signature, (uint256, uint256)); - PublicKey memory key = p256PublicKey[msg.sender]; - if (P256.verifySignature(hash, r, s, key.x, key.y)) { - return ValidationData.wrap(0); - } - return SIG_VALIDATION_FAILED; - } - - function validCaller(address _caller, bytes calldata) external view override returns (bool) { - revert NotImplemented(); - } -} diff --git a/src/validator/stealthAddressValidator/EllipticCurve.sol b/src/validator/stealthAddressValidator/EllipticCurve.sol deleted file mode 100644 index 94a8eedf..00000000 --- a/src/validator/stealthAddressValidator/EllipticCurve.sol +++ /dev/null @@ -1,328 +0,0 @@ -// SPDX-License-Identifier: MIT - -pragma solidity ^0.8.0; - -/** - * @title Elliptic Curve Library - * @dev Library providing arithmetic operations over elliptic curves. - * This library does not check whether the inserted points belong to the curve - * `isOnCurve` function should be used by the library user to check the aforementioned statement. - * @author Witnet Foundation - */ -library EllipticCurve { - // Pre-computed constant for 2 ** 255 - uint256 private constant U255_MAX_PLUS_1 = - 57896044618658097711785492504343953926634992332820282019728792003956564819968; - - /// @dev Modular euclidean inverse of a number (mod p). - /// @param _x The number - /// @param _pp The modulus - /// @return q such that x*q = 1 (mod _pp) - function invMod(uint256 _x, uint256 _pp) internal pure returns (uint256) { - require(_x != 0 && _x != _pp && _pp != 0, "Invalid number"); - uint256 q = 0; - uint256 newT = 1; - uint256 r = _pp; - uint256 t; - while (_x != 0) { - t = r / _x; - (q, newT) = (newT, addmod(q, (_pp - mulmod(t, newT, _pp)), _pp)); - (r, _x) = (_x, r - t * _x); - } - - return q; - } - - /// @dev Modular exponentiation, b^e % _pp. - /// Source: https://github.com/androlo/standard-contracts/blob/master/contracts/src/crypto/ECCMath.sol - /// @param _base base - /// @param _exp exponent - /// @param _pp modulus - /// @return r such that r = b**e (mod _pp) - function expMod(uint256 _base, uint256 _exp, uint256 _pp) internal pure returns (uint256) { - require(_pp != 0, "EllipticCurve: modulus is zero"); - - if (_base == 0) return 0; - if (_exp == 0) return 1; - - uint256 r = 1; - uint256 bit = U255_MAX_PLUS_1; - assembly { - for {} gt(bit, 0) {} { - r := mulmod(mulmod(r, r, _pp), exp(_base, iszero(iszero(and(_exp, bit)))), _pp) - r := mulmod(mulmod(r, r, _pp), exp(_base, iszero(iszero(and(_exp, div(bit, 2))))), _pp) - r := mulmod(mulmod(r, r, _pp), exp(_base, iszero(iszero(and(_exp, div(bit, 4))))), _pp) - r := mulmod(mulmod(r, r, _pp), exp(_base, iszero(iszero(and(_exp, div(bit, 8))))), _pp) - bit := div(bit, 16) - } - } - - return r; - } - - /// @dev Converts a point (x, y, z) expressed in Jacobian coordinates to affine coordinates (x', y', 1). - /// @param _x coordinate x - /// @param _y coordinate y - /// @param _z coordinate z - /// @param _pp the modulus - /// @return (x', y') affine coordinates - function toAffine(uint256 _x, uint256 _y, uint256 _z, uint256 _pp) internal pure returns (uint256, uint256) { - uint256 zInv = invMod(_z, _pp); - uint256 zInv2 = mulmod(zInv, zInv, _pp); - uint256 x2 = mulmod(_x, zInv2, _pp); - uint256 y2 = mulmod(_y, mulmod(zInv, zInv2, _pp), _pp); - - return (x2, y2); - } - - /// @dev Derives the y coordinate from a compressed-format point x [[SEC-1]](https://www.secg.org/SEC1-Ver-1.0.pdf). - /// @param _prefix parity byte (0x02 even, 0x03 odd) - /// @param _x coordinate x - /// @param _aa constant of curve - /// @param _bb constant of curve - /// @param _pp the modulus - /// @return y coordinate y - function deriveY(uint8 _prefix, uint256 _x, uint256 _aa, uint256 _bb, uint256 _pp) - internal - pure - returns (uint256) - { - require(_prefix == 0x02 || _prefix == 0x03, "EllipticCurve:innvalid compressed EC point prefix"); - - // x^3 + ax + b - uint256 y2 = addmod(mulmod(_x, mulmod(_x, _x, _pp), _pp), addmod(mulmod(_x, _aa, _pp), _bb, _pp), _pp); - y2 = expMod(y2, (_pp + 1) / 4, _pp); - // uint256 cmp = yBit ^ y_ & 1; - uint256 y = (y2 + _prefix) % 2 == 0 ? y2 : _pp - y2; - - return y; - } - - /// @dev Check whether point (x,y) is on curve defined by a, b, and _pp. - /// @param _x coordinate x of P1 - /// @param _y coordinate y of P1 - /// @param _aa constant of curve - /// @param _bb constant of curve - /// @param _pp the modulus - /// @return true if x,y in the curve, false else - function isOnCurve(uint256 _x, uint256 _y, uint256 _aa, uint256 _bb, uint256 _pp) internal pure returns (bool) { - if (0 == _x || _x >= _pp || 0 == _y || _y >= _pp) { - return false; - } - // y^2 - uint256 lhs = mulmod(_y, _y, _pp); - // x^3 - uint256 rhs = mulmod(mulmod(_x, _x, _pp), _x, _pp); - if (_aa != 0) { - // x^3 + a*x - rhs = addmod(rhs, mulmod(_x, _aa, _pp), _pp); - } - if (_bb != 0) { - // x^3 + a*x + b - rhs = addmod(rhs, _bb, _pp); - } - - return lhs == rhs; - } - - /// @dev Calculate inverse (x, -y) of point (x, y). - /// @param _x coordinate x of P1 - /// @param _y coordinate y of P1 - /// @param _pp the modulus - /// @return (x, -y) - function ecInv(uint256 _x, uint256 _y, uint256 _pp) internal pure returns (uint256, uint256) { - return (_x, (_pp - _y) % _pp); - } - - /// @dev Add two points (x1, y1) and (x2, y2) in affine coordinates. - /// @param _x1 coordinate x of P1 - /// @param _y1 coordinate y of P1 - /// @param _x2 coordinate x of P2 - /// @param _y2 coordinate y of P2 - /// @param _aa constant of the curve - /// @param _pp the modulus - /// @return (qx, qy) = P1+P2 in affine coordinates - function ecAdd(uint256 _x1, uint256 _y1, uint256 _x2, uint256 _y2, uint256 _aa, uint256 _pp) - internal - pure - returns (uint256, uint256) - { - uint256 x = 0; - uint256 y = 0; - uint256 z = 0; - - // Double if x1==x2 else add - if (_x1 == _x2) { - // y1 = -y2 mod p - if (addmod(_y1, _y2, _pp) == 0) { - return (0, 0); - } else { - // P1 = P2 - (x, y, z) = jacDouble(_x1, _y1, 1, _aa, _pp); - } - } else { - (x, y, z) = jacAdd(_x1, _y1, 1, _x2, _y2, 1, _pp); - } - // Get back to affine - return toAffine(x, y, z, _pp); - } - - /// @dev Substract two points (x1, y1) and (x2, y2) in affine coordinates. - /// @param _x1 coordinate x of P1 - /// @param _y1 coordinate y of P1 - /// @param _x2 coordinate x of P2 - /// @param _y2 coordinate y of P2 - /// @param _aa constant of the curve - /// @param _pp the modulus - /// @return (qx, qy) = P1-P2 in affine coordinates - function ecSub(uint256 _x1, uint256 _y1, uint256 _x2, uint256 _y2, uint256 _aa, uint256 _pp) - internal - pure - returns (uint256, uint256) - { - // invert square - (uint256 x, uint256 y) = ecInv(_x2, _y2, _pp); - // P1-square - return ecAdd(_x1, _y1, x, y, _aa, _pp); - } - - /// @dev Multiply point (x1, y1, z1) times d in affine coordinates. - /// @param _k scalar to multiply - /// @param _x coordinate x of P1 - /// @param _y coordinate y of P1 - /// @param _aa constant of the curve - /// @param _pp the modulus - /// @return (qx, qy) = d*P in affine coordinates - function ecMul(uint256 _k, uint256 _x, uint256 _y, uint256 _aa, uint256 _pp) - internal - pure - returns (uint256, uint256) - { - // Jacobian multiplication - (uint256 x1, uint256 y1, uint256 z1) = jacMul(_k, _x, _y, 1, _aa, _pp); - // Get back to affine - return toAffine(x1, y1, z1, _pp); - } - - /// @dev Adds two points (x1, y1, z1) and (x2 y2, z2). - /// @param _x1 coordinate x of P1 - /// @param _y1 coordinate y of P1 - /// @param _z1 coordinate z of P1 - /// @param _x2 coordinate x of square - /// @param _y2 coordinate y of square - /// @param _z2 coordinate z of square - /// @param _pp the modulus - /// @return (qx, qy, qz) P1+square in Jacobian - function jacAdd(uint256 _x1, uint256 _y1, uint256 _z1, uint256 _x2, uint256 _y2, uint256 _z2, uint256 _pp) - internal - pure - returns (uint256, uint256, uint256) - { - if (_x1 == 0 && _y1 == 0) return (_x2, _y2, _z2); - if (_x2 == 0 && _y2 == 0) return (_x1, _y1, _z1); - - // We follow the equations described in https://pdfs.semanticscholar.org/5c64/29952e08025a9649c2b0ba32518e9a7fb5c2.pdf Section 5 - uint256[4] memory zs; // z1^2, z1^3, z2^2, z2^3 - zs[0] = mulmod(_z1, _z1, _pp); - zs[1] = mulmod(_z1, zs[0], _pp); - zs[2] = mulmod(_z2, _z2, _pp); - zs[3] = mulmod(_z2, zs[2], _pp); - - // u1, s1, u2, s2 - zs = [mulmod(_x1, zs[2], _pp), mulmod(_y1, zs[3], _pp), mulmod(_x2, zs[0], _pp), mulmod(_y2, zs[1], _pp)]; - - // In case of zs[0] == zs[2] && zs[1] == zs[3], double function should be used - require(zs[0] != zs[2] || zs[1] != zs[3], "Use jacDouble function instead"); - - uint256[4] memory hr; - //h - hr[0] = addmod(zs[2], _pp - zs[0], _pp); - //r - hr[1] = addmod(zs[3], _pp - zs[1], _pp); - //h^2 - hr[2] = mulmod(hr[0], hr[0], _pp); - // h^3 - hr[3] = mulmod(hr[2], hr[0], _pp); - // qx = -h^3 -2u1h^2+r^2 - uint256 qx = addmod(mulmod(hr[1], hr[1], _pp), _pp - hr[3], _pp); - qx = addmod(qx, _pp - mulmod(2, mulmod(zs[0], hr[2], _pp), _pp), _pp); - // qy = -s1*z1*h^3+r(u1*h^2 -x^3) - uint256 qy = mulmod(hr[1], addmod(mulmod(zs[0], hr[2], _pp), _pp - qx, _pp), _pp); - qy = addmod(qy, _pp - mulmod(zs[1], hr[3], _pp), _pp); - // qz = h*z1*z2 - uint256 qz = mulmod(hr[0], mulmod(_z1, _z2, _pp), _pp); - return (qx, qy, qz); - } - - /// @dev Doubles a points (x, y, z). - /// @param _x coordinate x of P1 - /// @param _y coordinate y of P1 - /// @param _z coordinate z of P1 - /// @param _aa the a scalar in the curve equation - /// @param _pp the modulus - /// @return (qx, qy, qz) 2P in Jacobian - function jacDouble(uint256 _x, uint256 _y, uint256 _z, uint256 _aa, uint256 _pp) - internal - pure - returns (uint256, uint256, uint256) - { - if (_z == 0) return (_x, _y, _z); - - // We follow the equations described in https://pdfs.semanticscholar.org/5c64/29952e08025a9649c2b0ba32518e9a7fb5c2.pdf Section 5 - // Note: there is a bug in the paper regarding the m parameter, M=3*(x1^2)+a*(z1^4) - // x, y, z at this point represent the squares of _x, _y, _z - uint256 x = mulmod(_x, _x, _pp); //x1^2 - uint256 y = mulmod(_y, _y, _pp); //y1^2 - uint256 z = mulmod(_z, _z, _pp); //z1^2 - - // s - uint256 s = mulmod(4, mulmod(_x, y, _pp), _pp); - // m - uint256 m = addmod(mulmod(3, x, _pp), mulmod(_aa, mulmod(z, z, _pp), _pp), _pp); - - // x, y, z at this point will be reassigned and rather represent qx, qy, qz from the paper - // This allows to reduce the gas cost and stack footprint of the algorithm - // qx - x = addmod(mulmod(m, m, _pp), _pp - addmod(s, s, _pp), _pp); - // qy = -8*y1^4 + M(S-T) - y = addmod(mulmod(m, addmod(s, _pp - x, _pp), _pp), _pp - mulmod(8, mulmod(y, y, _pp), _pp), _pp); - // qz = 2*y1*z1 - z = mulmod(2, mulmod(_y, _z, _pp), _pp); - - return (x, y, z); - } - - /// @dev Multiply point (x, y, z) times d. - /// @param _d scalar to multiply - /// @param _x coordinate x of P1 - /// @param _y coordinate y of P1 - /// @param _z coordinate z of P1 - /// @param _aa constant of curve - /// @param _pp the modulus - /// @return (qx, qy, qz) d*P1 in Jacobian - function jacMul(uint256 _d, uint256 _x, uint256 _y, uint256 _z, uint256 _aa, uint256 _pp) - internal - pure - returns (uint256, uint256, uint256) - { - // Early return in case that `_d == 0` - if (_d == 0) { - return (_x, _y, _z); - } - - uint256 remaining = _d; - uint256 qx = 0; - uint256 qy = 0; - uint256 qz = 1; - - // Double and add algorithm - while (remaining != 0) { - if ((remaining & 1) != 0) { - (qx, qy, qz) = jacAdd(qx, qy, qz, _x, _y, _z, _pp); - } - remaining = remaining / 2; - (_x, _y, _z) = jacDouble(_x, _y, _z, _aa, _pp); - } - return (qx, qy, qz); - } -} diff --git a/src/validator/stealthAddressValidator/StealthAddressValidator.sol b/src/validator/stealthAddressValidator/StealthAddressValidator.sol deleted file mode 100644 index efca0763..00000000 --- a/src/validator/stealthAddressValidator/StealthAddressValidator.sol +++ /dev/null @@ -1,182 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import {UserOperation} from "I4337/interfaces/UserOperation.sol"; -import {ECDSA} from "solady/utils/ECDSA.sol"; -import {EIP712} from "solady/utils/EIP712.sol"; -import {StealthAggreagteSignature} from "./StealthAggreagteSignature.sol"; -import {IKernelValidator} from "../../interfaces/IKernelValidator.sol"; -import {ValidationData} from "../../common/Types.sol"; -import {SIG_VALIDATION_FAILED} from "../../common/Constants.sol"; - -/** - * @dev Storage structure for Stealth Address Registry Module. - * StealthPubkey, dhkey are used in aggregated signature. - * EphemeralPubkey is used to recover private key of stealth address. - */ -struct StealthAddressValidatorStorage { - uint256 stealthPubkey; - uint256 dhkey; - uint256 ephemeralPubkey; - address stealthAddress; - uint8 stealthPubkeyPrefix; - uint8 dhkeyPrefix; - uint8 ephemeralPrefix; -} - -/** - * @author Justin Zen - - * @title Stealth Address Validator for ZeroDev Kernel. - * @notice This validator uses the Stealth address to validate signatures. - */ -contract StealthAddressValidator is IKernelValidator, EIP712 { - /// @notice The type hash used for kernel user op validation - bytes32 constant USER_OP_TYPEHASH = - keccak256("AllowUserOp(address owner,address kernelWallet,bytes32 userOpHash)"); - /// @notice The type hash used for kernel signature validation - bytes32 constant SIGNATURE_TYPEHASH = - keccak256("KernelSignature(address owner,address kernelWallet,bytes32 hash)"); - - /// @notice Emitted when the stealth address of a kernel is changed. - event StealthAddressChanged( - address indexed kernel, address indexed oldStealthAddress, address indexed newStealthAddress - ); - - /* -------------------------------------------------------------------------- */ - /* Storage */ - /* -------------------------------------------------------------------------- */ - mapping(address => StealthAddressValidatorStorage) public stealthAddressValidatorStorage; - - /* -------------------------------------------------------------------------- */ - /* EIP-712 Methods */ - /* -------------------------------------------------------------------------- */ - - /// @dev Get the current name & version of the validator, used for the EIP-712 domain separator from Solady - function _domainNameAndVersion() internal pure override returns (string memory, string memory) { - return ("Kernel:StealthAddressValidator", "1.0.0"); - } - - /// @dev Tell to solady that the current name & version of the validator won't change, so no need to recompute the eip-712 domain separator - function _domainNameAndVersionMayChange() internal pure override returns (bool) { - return false; - } - - /// @dev Export the current domain seperator - function getDomainSeperator() public view returns (bytes32) { - return _domainSeparator(); - } - - /* -------------------------------------------------------------------------- */ - /* Kernel validator Methods */ - /* -------------------------------------------------------------------------- */ - - /// @dev Enable this validator for a given `kernel` (msg.sender) - function enable(bytes calldata _data) external payable override { - address stealthAddress = address(bytes20(_data[0:20])); - uint256 stealthAddressPubkey = uint256(bytes32(_data[20:52])); - uint256 stealthAddressDhkey = uint256(bytes32(_data[52:84])); - uint8 stealthAddressPubkeyPrefix = uint8(_data[84]); - uint8 stealthAddressDhkeyPrefix = uint8(_data[85]); - uint256 ephemeralPubkey = uint256(bytes32(_data[86:118])); - uint8 ephemeralPrefix = uint8(_data[118]); - - address oldStealthAddress = stealthAddressValidatorStorage[msg.sender].stealthAddress; - stealthAddressValidatorStorage[msg.sender] = StealthAddressValidatorStorage({ - stealthPubkey: stealthAddressPubkey, - dhkey: stealthAddressDhkey, - ephemeralPubkey: ephemeralPubkey, - stealthAddress: stealthAddress, - stealthPubkeyPrefix: stealthAddressPubkeyPrefix, - dhkeyPrefix: stealthAddressDhkeyPrefix, - ephemeralPrefix: ephemeralPrefix - }); - emit StealthAddressChanged(msg.sender, oldStealthAddress, stealthAddress); - } - - /// @dev Disable this validator for a given `kernel` (msg.sender) - function disable(bytes calldata) external payable override { - address stealthAddress; - delete stealthAddressValidatorStorage[msg.sender]; - emit StealthAddressChanged(msg.sender, stealthAddress, address(0)); - } - - /// @dev Validate a `_userOp` using a EIP-712 signature, signed by the owner of the kernel account who is the `_userOp` sender - function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) - external - payable - override - returns (ValidationData validationData) - { - bytes1 mode = _userOp.signature[0]; - StealthAddressValidatorStorage storage stealthData = stealthAddressValidatorStorage[_userOp.sender]; - address stealthAddress = stealthData.stealthAddress; - bytes32 typedDataHash = - _hashTypedData(keccak256(abi.encode(USER_OP_TYPEHASH, stealthAddress, _userOp.sender, _userOpHash))); - - // 0x00: signature from spending key - // 0x01: aggregated signature from owner and shared secret - if (mode == 0x00) { - return stealthAddress == ECDSA.recover(typedDataHash, _userOp.signature[1:]) - ? ValidationData.wrap(0) - : SIG_VALIDATION_FAILED; - } else if (mode == 0x01) { - return StealthAggreagteSignature.validateAggregatedSignature( - stealthData.stealthPubkey, - stealthData.dhkey, - stealthData.stealthPubkeyPrefix, - stealthData.dhkeyPrefix, - typedDataHash, - _userOp.signature[1:] - ) ? ValidationData.wrap(0) : SIG_VALIDATION_FAILED; - } else { - return SIG_VALIDATION_FAILED; - } - } - - /// @dev Validate a `_signature` of the `_hash` ofor the given `kernel` (msg.sender) - function validateSignature(bytes32 _hash, bytes calldata _signature) - external - view - override - returns (ValidationData validationData) - { - bytes1 mode = _signature[0]; - StealthAddressValidatorStorage storage stealthData = stealthAddressValidatorStorage[msg.sender]; - address stealthAddress = stealthData.stealthAddress; - bytes32 typedDataHash = - _hashTypedData(keccak256(abi.encode(SIGNATURE_TYPEHASH, stealthAddress, msg.sender, _hash))); - - // 0x00: signature from spending key - // 0x01: aggregated signature from owner and shared secret - if (mode == 0x00) { - return stealthAddress == ECDSA.recover(typedDataHash, _signature[1:]) - ? ValidationData.wrap(0) - : SIG_VALIDATION_FAILED; - } else if (mode == 0x01) { - return StealthAggreagteSignature.validateAggregatedSignature( - stealthData.stealthPubkey, - stealthData.dhkey, - stealthData.stealthPubkeyPrefix, - stealthData.dhkeyPrefix, - typedDataHash, - _signature[1:] - ) ? ValidationData.wrap(0) : SIG_VALIDATION_FAILED; - } else { - return SIG_VALIDATION_FAILED; - } - } - - /// @dev Check if the caller is a valid signer for this kernel account - function validCaller(address _caller, bytes calldata) external view override returns (bool) { - return stealthAddressValidatorStorage[msg.sender].stealthAddress == _caller; - } - - /* -------------------------------------------------------------------------- */ - /* Public view methods */ - /* -------------------------------------------------------------------------- */ - - /// @dev Get the owner of a given `kernel` - function getOwner(address _kernel) public view returns (address) { - return stealthAddressValidatorStorage[_kernel].stealthAddress; - } -} diff --git a/src/validator/stealthAddressValidator/StealthAggreagteSignature.sol b/src/validator/stealthAddressValidator/StealthAggreagteSignature.sol deleted file mode 100644 index d184a5f7..00000000 --- a/src/validator/stealthAddressValidator/StealthAggreagteSignature.sol +++ /dev/null @@ -1,47 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import {EllipticCurve} from "./EllipticCurve.sol"; - -library StealthAggreagteSignature { - uint256 public constant GX = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798; - uint256 public constant GY = 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8; - uint256 public constant AA = 0; - uint256 public constant BB = 7; - uint256 public constant PP = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F; - uint256 public constant N = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141; - - function validateAggregatedSignature( - uint256 _pubkey, - uint256 _dhkey, - uint8 _pubkeyPrefix, - uint8 _dhkeyPrefix, - bytes32 _message, - bytes calldata _signature - ) external pure returns (bool) { - uint256 aggh2; - uint256 aggpb; - uint256 aggdh; - - uint256 sigr = uint256(bytes32(_signature[0:32])); - uint256 sigs = uint256(bytes32(_signature[32:64])); - uint256 sinv = EllipticCurve.invMod(sigs, N); - uint256 num_message = uint256(_message); - - assembly { - aggh2 := mulmod(mulmod(sinv, num_message, N), num_message, N) - aggpb := mulmod(mulmod(sinv, sigr, N), num_message, N) - aggdh := mulmod(mulmod(sinv, sigr, N), sigr, N) - } - (uint256 p1x, uint256 p1y) = EllipticCurve.ecMul(aggh2, GX, GY, AA, PP); - uint256 pubY = EllipticCurve.deriveY(_pubkeyPrefix, _pubkey, AA, BB, PP); - uint256 pubdhY = EllipticCurve.deriveY(_dhkeyPrefix, _dhkey, AA, BB, PP); - - (uint256 p2x, uint256 p2y) = EllipticCurve.ecMul(aggpb, _pubkey, pubY, AA, PP); - (uint256 p3x, uint256 p3y) = EllipticCurve.ecMul(aggdh, _dhkey, pubdhY, AA, PP); - (uint256 aggp1x, uint256 aggp1y) = EllipticCurve.ecAdd(p1x, p1y, p2x, p2y, AA, PP); - (uint256 aggpx,) = EllipticCurve.ecAdd(aggp1x, aggp1y, p3x, p3y, AA, PP); - - return aggpx % N == sigr; - } -} diff --git a/tasks/test_userOp.ts b/tasks/test_userOp.ts deleted file mode 100644 index 46a1b5cc..00000000 --- a/tasks/test_userOp.ts +++ /dev/null @@ -1,102 +0,0 @@ - -import { task } from "hardhat/config" -import { hexConcat, arrayify, hexZeroPad } from "ethers/lib/utils" - -const STACKUP = "https://api.stackup.sh/v1/node/65bdd496f420d5610b504691af2787cda9a580cd2be7d3fb64a78fc17bc65c42" - -task("test-userop-initcode", "deploy erc20 paymaster") - .setAction(async (taskArgs, hre) => { - const signer = (await hre.ethers.getSigners())[0]; - const addr = await signer.getAddress(); - console.log("signer address: ", addr); - const entrypoint = await hre.ethers.getContractAt("EntryPoint", "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"); - const ecdsaFactory = await hre.ethers.getContractAt("ECDSAKernelFactory", "0x08e627ca6a0593c807091726a7fbb2887a1cb556"); - const account = await ecdsaFactory.getAccountAddress(addr, 3); - const kernel = await hre.ethers.getContractAt("Kernel", account); - console.log("maxFeePerGas : ", await hre.ethers.provider.getGasPrice()); - const userOp = { - sender : account, - nonce : 0, - initCode : hexConcat([ecdsaFactory.address, ecdsaFactory.interface.encodeFunctionData("createAccount", [addr, 3])]), - callData : kernel.interface.encodeFunctionData("execute", [addr,0,"0x",0]), - callGasLimit : 100000, - verificationGasLimit : 300000, - preVerificationGas : 300000, - maxFeePerGas: (await hre.ethers.provider.getGasPrice()).toHexString(), - maxPriorityFeePerGas: 1000000000, - paymasterAndData: "0x", - signature: "0x" - } - if((await hre.ethers.provider.getBalance(account)).lt(hre.ethers.BigNumber.from("100000000000000000"))) { - console.log("insufficient balance"); - await signer.sendTransaction({ - to: account, - value: hre.ethers.BigNumber.from("100000000000000000") - }) - } - - const stackup = new hre.ethers.providers.JsonRpcProvider(STACKUP); - userOp.signature = hexConcat(["0x00000000", hexZeroPad("0xb1", 65)]) - const gas = await stackup.send("eth_estimateUserOperationGas", [userOp, entrypoint.address]); - console.log("gas: ", gas); - userOp.callGasLimit = gas.callGasLimit; - userOp.verificationGasLimit = gas.verificationGas; - userOp.preVerificationGas = gas.preVerificationGas; - const userOpHash = await entrypoint.getUserOpHash(userOp); - const userOpHashHex = arrayify(userOpHash); - const userOpSig = await signer.signMessage(userOpHashHex); - - console.log("userOpSig: ", userOpSig); - userOp.signature = hexConcat(["0x00000000", userOpSig]) - const receipt = await stackup.send("eth_sendUserOperation", [userOp, entrypoint.address]); - }) - -task("test-userop", "test userop") - .setAction(async (taskArgs, hre) => { - const kernel_id = 3; - const signer = (await hre.ethers.getSigners())[0]; - const addr = await signer.getAddress(); - console.log("signer address: ", addr); - const entrypoint = await hre.ethers.getContractAt("EntryPoint", "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789"); - const ecdsaFactory = await hre.ethers.getContractAt("ECDSAKernelFactory", "0x08e627ca6a0593c807091726a7fbb2887a1cb556"); - const account = await ecdsaFactory.getAccountAddress(addr, kernel_id); - //await ecdsaFactory.createAccount(addr, kernel_id); - const kernel = await hre.ethers.getContractAt("Kernel", account); - console.log("maxFeePerGas : ", await hre.ethers.provider.getGasPrice()); - const userOp = { - sender : account, - nonce : (await entrypoint.getNonce(account,0)).toHexString(), - initCode : "0x", - callData : kernel.interface.encodeFunctionData("execute", [addr,0,"0x",0]), - callGasLimit : 100000, - verificationGasLimit : 300000, - preVerificationGas : 45100, - maxFeePerGas: (await hre.ethers.provider.getGasPrice()).toHexString(), - maxPriorityFeePerGas: 1000000000, - paymasterAndData: "0x", - signature: "0x" - } - if((await hre.ethers.provider.getBalance(account)).lt(hre.ethers.BigNumber.from("100000000000000000"))) { - console.log("insufficient balance"); - await signer.sendTransaction({ - to: account, - value: hre.ethers.BigNumber.from("100000000000000000") - }) - } - - const stackup = new hre.ethers.providers.JsonRpcProvider(STACKUP); - userOp.signature = hexConcat(["0x00000000", hexZeroPad("0x8f51af942b92e95ec77b4ae8b4197ca94373be26205746c506997587d0fd5efe6f5ea33ea7fcf09c9cd38216837c4739a8283d6f97e9977aa1f102fee5d0516b1b", 65)]) - const gas = await stackup.send("eth_estimateUserOperationGas", [userOp, entrypoint.address]); - console.log("gas: ", gas); - userOp.callGasLimit = gas.callGasLimit; - userOp.verificationGasLimit = gas.verificationGas; - userOp.preVerificationGas = gas.preVerificationGas; - const userOpHash = await entrypoint.getUserOpHash(userOp); - const userOpHashHex = arrayify(userOpHash); - const userOpSig = await signer.signMessage(userOpHashHex); - - console.log("userOpSig: ", userOpSig); - userOp.signature = hexConcat(["0x00000000", userOpSig]) - const receipt = await stackup.send("eth_sendUserOperation", [userOp, entrypoint.address]); - }) - diff --git a/test/foundry/validator/P256Validator.t.sol b/test/foundry/validator/P256Validator.t.sol deleted file mode 100644 index 4f731844..00000000 --- a/test/foundry/validator/P256Validator.t.sol +++ /dev/null @@ -1,207 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import {IEntryPoint} from "I4337/interfaces/IEntryPoint.sol"; -import "src/Kernel.sol"; -// test artifacts -// test utils -import "forge-std/Test.sol"; -import {ERC4337Utils} from "../utils/ERC4337Utils.sol"; -import {KernelTestBase} from "../KernelTestBase.sol"; -import {TestExecutor} from "../mock/TestExecutor.sol"; -import {TestValidator} from "../mock/TestValidator.sol"; -import {P256Validator} from "src/validator/P256Validator.sol"; -import {P256Verifier} from "p256-verifier/P256Verifier.sol"; -import {P256} from "p256-verifier/P256.sol"; -import {FCL_ecdsa_utils} from "FreshCryptoLib/FCL_ecdsa_utils.sol"; -import {IKernel} from "src/interfaces/IKernel.sol"; - -using ERC4337Utils for IEntryPoint; - -contract P256ValidatorTest is KernelTestBase { - P256Verifier p256Verifier; - P256Validator p256Validator; - - // Curve order (number of points) - uint256 constant n = 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551; - - uint256 x; - uint256 y; - - function setUp() public { - p256Validator = new P256Validator(); - p256Verifier = new P256Verifier(); - - vm.etch(0xc2b78104907F722DABAc4C69f826a522B2754De4, address(p256Verifier).code); - - _initialize(); - (x, y) = generatePublicKey(ownerKey); - _setAddress(); - _setExecutionDetail(); - } - - function _setExecutionDetail() internal virtual override { - executionDetail.executor = address(new TestExecutor()); - executionSig = TestExecutor.doNothing.selector; - executionDetail.validator = new TestValidator(); - } - - function getValidatorSignature(UserOperation memory _op) internal view virtual override returns (bytes memory) { - bytes32 hash = entryPoint.getUserOpHash(_op); - (uint256 r, uint256 s) = generateSignature(ownerKey, ECDSA.toEthSignedMessageHash(hash)); - return abi.encodePacked(bytes4(0x00000000), abi.encode(r, s)); - } - - function getOwners() internal virtual override returns (address[] memory _owners) { - _owners = new address[](1); - _owners[0] = address(0); - return _owners; - } - - function getEnableData() internal view virtual override returns (bytes memory) { - return ""; - } - - function getInitializeData() internal view override returns (bytes memory) { - return abi.encodeWithSelector(KernelStorage.initialize.selector, p256Validator, abi.encode(x, y)); - } - - function test_default_validator_enable() external override { - UserOperation memory op = buildUserOperation( - abi.encodeWithSelector( - IKernel.execute.selector, - address(p256Validator), - 0, - abi.encodeWithSelector(P256Validator.enable.selector, abi.encode(x, y)), - Operation.Call - ) - ); - performUserOperationWithSig(op); - (uint256 x2, uint256 y2) = P256Validator(address(p256Validator)).p256PublicKey(address(kernel)); - verifyPublicKey(x2, y2, x, y); - } - - function test_default_validator_disable() external override { - UserOperation memory op = buildUserOperation( - abi.encodeWithSelector( - IKernel.execute.selector, - address(p256Validator), - 0, - abi.encodeWithSelector(P256Validator.disable.selector, ""), - Operation.Call - ) - ); - performUserOperationWithSig(op); - (uint256 x2, uint256 y2) = P256Validator(address(p256Validator)).p256PublicKey(address(kernel)); - verifyPublicKey(x2, y2, 0, 0); - } - - function test_external_call_batch_execute_success() external override { - vm.skip(true); - } - - function test_external_call_execute_success() external override { - vm.skip(true); - } - - function test_external_call_execute_delegatecall_success() external override { - vm.skip(true); - } - - function test_external_call_execute_delegatecall_fail() external override { - vm.skip(true); - } - - function test_external_call_default() external override { - vm.skip(true); - } - - function test_external_call_execution() external override { - vm.skip(true); - } - - function generatePublicKey(uint256 privateKey) internal view returns (uint256, uint256) { - return FCL_ecdsa_utils.ecdsa_derivKpub(privateKey); - } - - function generateSignature(uint256 privateKey, bytes32 hash) internal view returns (uint256 r, uint256 s) { - // Securely generate a random k value for each signature - uint256 k = uint256(keccak256(abi.encodePacked(hash, block.timestamp, block.difficulty, privateKey))) % n; - while (k == 0) { - k = uint256(keccak256(abi.encodePacked(k))) % n; - } - - // Generate the signature using the k value and the private key - (r, s) = FCL_ecdsa_utils.ecdsa_sign(hash, k, privateKey); - - // Ensure that s is in the lower half of the range [1, n-1] - if (r == 0 || s == 0 || s > P256.P256_N_DIV_2) { - s = n - s; // If s is in the upper half, use n - s instead - } - - return (r, s); - } - - function test_utils(uint256 privateKey, bytes32 hash) external { - vm.assume(hash != 0); - vm.assume(privateKey != 0); - (uint256 x1, uint256 y1) = generatePublicKey(privateKey); - (uint256 r, uint256 s) = generateSignature(privateKey, hash); - - vm.assume(x1 != 0); - vm.assume(y1 != 0); - vm.assume(r != 0); - vm.assume(s < P256.P256_N_DIV_2); - assertEq(P256.verifySignature(hash, r, s, x1, y1), true); - } - - function test_validate_signature() external override { - Kernel kernel2 = Kernel(payable(factory.createAccount(address(kernelImpl), getInitializeData(), 3))); - bytes32 hash = keccak256(abi.encodePacked("hello world")); - - bytes32 digest = keccak256( - abi.encodePacked( - "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash - ) - ); - - (uint256 r, uint256 s) = generateSignature(ownerKey, digest); - - assertEq(kernel.isValidSignature(hash, abi.encode(r, s)), Kernel.isValidSignature.selector); - assertEq(kernel2.isValidSignature(hash, abi.encode(r, s)), bytes4(0xffffffff)); - } - - function test_fail_validate_wrongsignature() external override { - bytes32 hash = keccak256(abi.encodePacked("hello world")); - bytes memory sig = getWrongSignature(hash); - assertEq(kernel.isValidSignature(hash, sig), bytes4(0xffffffff)); - } - - function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { - bytes32 hash = entryPoint.getUserOpHash(op); - (uint256 r, uint256 s) = generateSignature(ownerKey, hash); - return abi.encodePacked(bytes4(0x00000000), abi.encode(r, s)); - } - - function getWrongSignature(UserOperation memory op) internal view override returns (bytes memory) { - bytes32 hash = entryPoint.getUserOpHash(op); - (uint256 r, uint256 s) = generateSignature(ownerKey + 1, hash); - return abi.encodePacked(bytes4(0x00000000), abi.encode(r, s)); - } - - function signHash(bytes32 hash) internal view override returns (bytes memory) { - (uint256 r, uint256 s) = generateSignature(ownerKey, hash); - - return abi.encode(r, s); - } - - function getWrongSignature(bytes32 hash) internal view override returns (bytes memory) { - (uint256 r, uint256 s) = generateSignature(ownerKey + 1, ECDSA.toEthSignedMessageHash(hash)); - return abi.encode(r, s); - } - - function verifyPublicKey(uint256 actualX, uint256 actualY, uint256 expectedX, uint256 expectedY) internal { - assertEq(actualX, expectedX, "Public key X component mismatch"); - assertEq(actualY, expectedY, "Public key Y component mismatch"); - } -} diff --git a/test/foundry/validator/StealthAddressValidator.t.sol b/test/foundry/validator/StealthAddressValidator.t.sol deleted file mode 100644 index ed612038..00000000 --- a/test/foundry/validator/StealthAddressValidator.t.sol +++ /dev/null @@ -1,311 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.0; - -import {FixedPointMathLib} from "solady/utils/FixedPointMathLib.sol"; -import "src/Kernel.sol"; -import {EllipticCurve} from "src/validator/stealthAddressValidator/EllipticCurve.sol"; -import {IKernel} from "src/interfaces/IKernel.sol"; -import {StealthAddressValidator} from "src/validator/stealthAddressValidator/StealthAddressValidator.sol"; -// test utils -import {KernelTestBase} from "../KernelTestBase.sol"; -import {TestExecutor} from "../mock/TestExecutor.sol"; -import {TestValidator} from "../mock/TestValidator.sol"; -import "forge-std/Vm.sol"; - -struct StealthAddressKey { - address stealthAddress; - uint256 stealthPub; - uint256 dhPub; - uint8 stealthPrefix; - uint8 dhPrefix; - uint256 ephemeralPub; - uint8 ephemeralPrefix; - uint256 hashSecret; - uint256 stealthPrivate; -} - -contract StealthAddressValidatorTest is KernelTestBase { - StealthAddressValidator private stealthAddressValidator; - VmSafe.Wallet private wallet; - VmSafe.Wallet private ephemeralWallet; - uint256 private stealthPrivateKey; - - function setUp() public { - _initialize(); - wallet = vm.createWallet(uint256(keccak256(bytes("owner")))); - ephemeralWallet = vm.createWallet(uint256(keccak256(bytes("ephemeral")))); - - StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); - owner = stealthAddressKey.stealthAddress; - ownerKey = stealthAddressKey.stealthPrivate; - stealthAddressValidator = new StealthAddressValidator(); - defaultValidator = stealthAddressValidator; - _setAddress(); - _setExecutionDetail(); - } - - function _setExecutionDetail() internal virtual override { - executionDetail.executor = address(new TestExecutor()); - executionSig = TestExecutor.doNothing.selector; - executionDetail.validator = new TestValidator(); - } - - function getEnableData() internal view virtual override returns (bytes memory) { - return ""; - } - - function getValidatorSignature(UserOperation memory) internal view virtual override returns (bytes memory) { - return ""; - } - - function getOwners() internal view override returns (address[] memory) { - address[] memory owners = new address[](1); - owners[0] = owner; - return owners; - } - - function getInitializeData() internal view override returns (bytes memory) { - StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); - return abi.encodeWithSelector( - KernelStorage.initialize.selector, - defaultValidator, - abi.encodePacked( - stealthAddressKey.stealthAddress, - stealthAddressKey.stealthPub, - stealthAddressKey.dhPub, - stealthAddressKey.stealthPrefix, - stealthAddressKey.dhPrefix, - stealthAddressKey.ephemeralPub, - stealthAddressKey.ephemeralPrefix - ) - ); - } - - function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { - StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); - return abi.encodePacked( - bytes4(0x00000000), bytes1(0x00), _generateUserOpSignature(entryPoint, op, stealthAddressKey.stealthPrivate) - ); - } - - function getWrongSignature(UserOperation memory op) internal view override returns (bytes memory) { - StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); - return abi.encodePacked( - bytes4(0x00000000), - bytes1(0x00), - _generateUserOpSignature(entryPoint, op, stealthAddressKey.stealthPrivate + 1) - ); - } - - function signHash(bytes32 _hash) internal view override returns (bytes memory) { - StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); - return _generateHashSignature(_hash, address(kernel), stealthAddressKey.stealthPrivate); - } - - function getWrongSignature(bytes32 _hash) internal view override returns (bytes memory) { - StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); - return _generateHashSignature(_hash, address(kernel), stealthAddressKey.stealthPrivate + 1); - } - - function test_default_validator_enable() external override { - StealthAddressKey memory stealthAddressKey = getStealthAddress(wallet, ephemeralWallet); - - UserOperation memory op = buildUserOperation( - abi.encodeWithSelector( - IKernel.execute.selector, - address(defaultValidator), - 0, - abi.encodeWithSelector( - StealthAddressValidator.enable.selector, - abi.encodePacked( - stealthAddressKey.stealthAddress, - stealthAddressKey.stealthPub, - stealthAddressKey.dhPub, - stealthAddressKey.stealthPrefix, - stealthAddressKey.dhPrefix, - stealthAddressKey.ephemeralPub, - stealthAddressKey.ephemeralPrefix - ) - ), - Operation.Call - ) - ); - performUserOperationWithSig(op); - address owner = stealthAddressValidator.getOwner(address(kernel)); - assertEq(owner, stealthAddressKey.stealthAddress, "owner should be stealthAddress"); - } - - function test_default_validator_disable() external override { - UserOperation memory op = buildUserOperation( - abi.encodeWithSelector( - IKernel.execute.selector, - address(defaultValidator), - 0, - abi.encodeWithSelector(StealthAddressValidator.disable.selector, ""), - Operation.Call - ) - ); - performUserOperationWithSig(op); - address owner = stealthAddressValidator.getOwner(address(kernel)); - assertEq(owner, address(0), "owner should be 0"); - } - - function test_stealth_validate_userop_aggsig() external { - UserOperation memory userOp = UserOperation({ - sender: address(kernel), - nonce: 0, - initCode: bytes(""), - callData: bytes(""), - callGasLimit: 1, - verificationGasLimit: 1, - preVerificationGas: 1, - maxFeePerGas: 1, - maxPriorityFeePerGas: 1, - paymasterAndData: bytes(""), - signature: bytes("") - }); - bytes32 userOpHash = entryPoint.getUserOpHash(userOp); - - // Get the validator domain separator - bytes32 domainSeparator = stealthAddressValidator.getDomainSeperator(); - bytes32 typedMsgHash = keccak256( - abi.encodePacked( - "\x19\x01", domainSeparator, keccak256(abi.encode(USER_OP_TYPEHASH, owner, address(kernel), userOpHash)) - ) - ); - bytes memory aggregatedSignature = getAggregatedSignature(typedMsgHash, wallet); - userOp.signature = aggregatedSignature; - - (,, address result) = parseValidationData(defaultValidator.validateUserOp(userOp, userOpHash, 0)); - assertEq(result, address(0)); - } - - function test_stealth_validate_sig_aggsig() external { - bytes32 message = bytes32(uint256(0x102030405060708090a)); - - // Get the validator domain separator - bytes32 domainSeparator = stealthAddressValidator.getDomainSeperator(); - bytes32 typedMsgHash = keccak256( - abi.encodePacked( - "\x19\x01", domainSeparator, keccak256(abi.encode(SIGNATURE_TYPEHASH, owner, address(kernel), message)) - ) - ); - bytes memory aggregatedSignature = getAggregatedSignature(typedMsgHash, wallet); - - vm.prank(address(kernel)); - (,, address result) = parseValidationData(defaultValidator.validateSignature(message, aggregatedSignature)); - assertEq(result, address(0)); - } - - /* -------------------------------------------------------------------------- */ - /* Helper methods */ - /* -------------------------------------------------------------------------- */ - - /// @notice The type hash used for kernel user op validation - bytes32 constant USER_OP_TYPEHASH = keccak256("AllowUserOp(address owner,address kernelWallet,bytes32 userOpHash)"); - - /// @dev Generate the signature for a user op - function _generateUserOpSignature(IEntryPoint _entryPoint, UserOperation memory _op, uint256 _privateKey) - internal - view - returns (bytes memory) - { - // Get the kernel private key owner address - address owner = vm.addr(_privateKey); - - // Get the user op hash - bytes32 userOpHash = _entryPoint.getUserOpHash(_op); - // Get the validator domain separator - bytes32 domainSeparator = stealthAddressValidator.getDomainSeperator(); - bytes32 typedMsgHash = keccak256( - abi.encodePacked( - "\x19\x01", domainSeparator, keccak256(abi.encode(USER_OP_TYPEHASH, owner, _op.sender, userOpHash)) - ) - ); - (uint8 v, bytes32 r, bytes32 s) = vm.sign(_privateKey, typedMsgHash); - return abi.encodePacked(r, s, v); - } - - /// @notice The type hash used for kernel signature validation - bytes32 constant SIGNATURE_TYPEHASH = keccak256("KernelSignature(address owner,address kernelWallet,bytes32 hash)"); - - /// @dev Generate the signature for a given hash for a kernel account - function _generateHashSignature(bytes32 _hash, address _kernel, uint256 _privateKey) - internal - view - returns (bytes memory) - { - // Get the kernel private key owner address - address owner = vm.addr(_privateKey); - - // Get the validator domain separator - bytes32 domainSeparator = stealthAddressValidator.getDomainSeperator(); - bytes32 typedMsgHash = keccak256( - abi.encodePacked( - "\x19\x01", domainSeparator, keccak256(abi.encode(SIGNATURE_TYPEHASH, owner, _kernel, _hash)) - ) - ); - - (uint8 v, bytes32 r, bytes32 s) = vm.sign(_privateKey, typedMsgHash); - return abi.encodePacked(bytes1(0), r, s, v); - } - - /// @notice The parameter used in the elliptic curve - uint256 GX = 0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798; - uint256 GY = 0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8; - uint256 AA = 0; - uint256 PP = 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F; - uint256 N = 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141; - - /// @dev Generate stealth address - function getStealthAddress(VmSafe.Wallet memory _ownerWallet, VmSafe.Wallet memory _ephemeralWallet) - public - view - returns (StealthAddressKey memory) - { - (uint256 ephemeralPub, uint256 ephemeralPrefix) = - (_ephemeralWallet.publicKeyX, _ephemeralWallet.publicKeyY % 2 + 2); - - (uint256 sharedSecretX, uint256 sharedSecretY) = - EllipticCurve.ecMul(_ephemeralWallet.privateKey, _ownerWallet.publicKeyX, _ownerWallet.publicKeyY, AA, PP); - uint256 hashSecret = uint256(keccak256(abi.encode(sharedSecretX, sharedSecretY))); - (uint256 pubX, uint256 pubY) = EllipticCurve.ecMul(hashSecret, GX, GY, AA, PP); - uint256 stealthPrivate = _ownerWallet.privateKey + hashSecret % N; - (uint256 stealthPubX, uint256 stealthPubY) = - EllipticCurve.ecAdd(_ownerWallet.publicKeyX, _ownerWallet.publicKeyY, pubX, pubY, AA, PP); - address stealthAddress = address(uint160(uint256(keccak256(abi.encode(stealthPubX, stealthPubY))))); - (uint256 dhkx, uint256 dhky) = - EllipticCurve.ecMul(hashSecret, _ownerWallet.publicKeyX, _ownerWallet.publicKeyY, AA, PP); - return StealthAddressKey( - stealthAddress, - stealthPubX, - dhkx, - uint8(stealthPubY % 2 + 2), - uint8(dhky % 2 + 2), - ephemeralPub, - uint8(ephemeralPrefix), - hashSecret, - stealthPrivate - ); - } - - function getAggregatedSignature(bytes32 _hash, Vm.Wallet memory _wallet) internal view returns (bytes memory) { - StealthAddressKey memory stelathAddressKey = getStealthAddress(_wallet, ephemeralWallet); - (, bytes32 r, bytes32 s) = vm.sign(_wallet.privateKey, _hash); - uint256 numR = uint256(r); - uint256 numS = uint256(s); - - // aggregatedSig = numS * (stelathAddressKey.hashSecret * numR + typedMsgHash) - bytes32 aggregatedSig = bytes32( - FixedPointMathLib.rawMulMod( - FixedPointMathLib.rawAddMod( - FixedPointMathLib.rawMulMod(stelathAddressKey.hashSecret, numR, N), uint256(_hash), N - ), - numS, - N - ) - ); - - return abi.encodePacked(bytes1(uint8(1)), r, aggregatedSig); - } -} From 5eb3450294ac50ac8a120369ed69b98b75998240 Mon Sep 17 00:00:00 2001 From: taek Date: Mon, 22 Jan 2024 16:30:08 +0900 Subject: [PATCH 26/51] Restructure (#71) * restructured to seprate plugins folder * removed via-ir based plugins, todo: remove all plugins to kernel-plugins * fix: import path fix for kerneltestbase --- src/factory/AdminLessERC1967Factory.sol | 1 - {test/foundry => src}/mock/TestCallee.sol | 0 {test/foundry => src}/mock/TestCounter.sol | 0 {test/foundry => src}/mock/TestERC1155.sol | 0 {test/foundry => src}/mock/TestERC20.sol | 0 {test/foundry => src}/mock/TestERC721.sol | 0 {test/foundry => src}/mock/TestExecutor.sol | 0 {test/foundry => src}/mock/TestKernel.sol | 2 +- {test/foundry => src}/mock/TestPaymaster.sol | 0 {test/foundry => src}/mock/TestValidator.sol | 8 ++--- {test/foundry => src}/utils/ERC4337Utils.sol | 0 .../foundry => src/utils}/KernelTestBase.sol | 32 +++++++++---------- test/foundry/KernelECDSA.t.sol | 8 ++--- test/foundry/KernelLiteECDSA.t.sol | 8 ++--- test/foundry/validator/KernelECDSATyped.t.sol | 11 +++---- .../validator/KillSwitchValidator.t.sol | 4 +-- .../validator/SessionKeyValidator.t.sol | 16 +++++----- 17 files changed, 43 insertions(+), 47 deletions(-) rename {test/foundry => src}/mock/TestCallee.sol (100%) rename {test/foundry => src}/mock/TestCounter.sol (100%) rename {test/foundry => src}/mock/TestERC1155.sol (100%) rename {test/foundry => src}/mock/TestERC20.sol (100%) rename {test/foundry => src}/mock/TestERC721.sol (100%) rename {test/foundry => src}/mock/TestExecutor.sol (100%) rename {test/foundry => src}/mock/TestKernel.sol (95%) rename {test/foundry => src}/mock/TestPaymaster.sol (100%) rename {test/foundry => src}/mock/TestValidator.sol (90%) rename {test/foundry => src}/utils/ERC4337Utils.sol (100%) rename {test/foundry => src/utils}/KernelTestBase.sol (95%) diff --git a/src/factory/AdminLessERC1967Factory.sol b/src/factory/AdminLessERC1967Factory.sol index 2587d1c5..5d3fa3c9 100644 --- a/src/factory/AdminLessERC1967Factory.sol +++ b/src/factory/AdminLessERC1967Factory.sol @@ -249,7 +249,6 @@ contract AdminLessERC1967Factory { * fd | REVERT | | [0..returndatasize): returndata | * -------------------------------------------------------------------------------------+ */ - m := mload(0x40) // forgefmt: disable-start switch shr(112, address()) diff --git a/test/foundry/mock/TestCallee.sol b/src/mock/TestCallee.sol similarity index 100% rename from test/foundry/mock/TestCallee.sol rename to src/mock/TestCallee.sol diff --git a/test/foundry/mock/TestCounter.sol b/src/mock/TestCounter.sol similarity index 100% rename from test/foundry/mock/TestCounter.sol rename to src/mock/TestCounter.sol diff --git a/test/foundry/mock/TestERC1155.sol b/src/mock/TestERC1155.sol similarity index 100% rename from test/foundry/mock/TestERC1155.sol rename to src/mock/TestERC1155.sol diff --git a/test/foundry/mock/TestERC20.sol b/src/mock/TestERC20.sol similarity index 100% rename from test/foundry/mock/TestERC20.sol rename to src/mock/TestERC20.sol diff --git a/test/foundry/mock/TestERC721.sol b/src/mock/TestERC721.sol similarity index 100% rename from test/foundry/mock/TestERC721.sol rename to src/mock/TestERC721.sol diff --git a/test/foundry/mock/TestExecutor.sol b/src/mock/TestExecutor.sol similarity index 100% rename from test/foundry/mock/TestExecutor.sol rename to src/mock/TestExecutor.sol diff --git a/test/foundry/mock/TestKernel.sol b/src/mock/TestKernel.sol similarity index 95% rename from test/foundry/mock/TestKernel.sol rename to src/mock/TestKernel.sol index ce270c2c..48a04ad1 100644 --- a/test/foundry/mock/TestKernel.sol +++ b/src/mock/TestKernel.sol @@ -1,6 +1,6 @@ pragma solidity ^0.8.0; -import "src/Kernel.sol"; +import "../Kernel.sol"; contract TestKernel is Kernel { constructor(IEntryPoint _entryPoint) Kernel(_entryPoint) {} diff --git a/test/foundry/mock/TestPaymaster.sol b/src/mock/TestPaymaster.sol similarity index 100% rename from test/foundry/mock/TestPaymaster.sol rename to src/mock/TestPaymaster.sol diff --git a/test/foundry/mock/TestValidator.sol b/src/mock/TestValidator.sol similarity index 90% rename from test/foundry/mock/TestValidator.sol rename to src/mock/TestValidator.sol index f34c5ef2..dad5d27e 100644 --- a/test/foundry/mock/TestValidator.sol +++ b/src/mock/TestValidator.sol @@ -1,10 +1,10 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; -import "src/interfaces/IKernelValidator.sol"; -import "src/common/Types.sol"; -import "src/utils/KernelHelper.sol"; -import "src/common/Constants.sol"; +import "../interfaces/IKernelValidator.sol"; +import "../common/Types.sol"; +import "../utils/KernelHelper.sol"; +import "../common/Constants.sol"; contract TestValidator is IKernelValidator { event TestValidateUserOp(bytes32 indexed opHash); diff --git a/test/foundry/utils/ERC4337Utils.sol b/src/utils/ERC4337Utils.sol similarity index 100% rename from test/foundry/utils/ERC4337Utils.sol rename to src/utils/ERC4337Utils.sol diff --git a/test/foundry/KernelTestBase.sol b/src/utils/KernelTestBase.sol similarity index 95% rename from test/foundry/KernelTestBase.sol rename to src/utils/KernelTestBase.sol index 366761c8..1a669ced 100644 --- a/test/foundry/KernelTestBase.sol +++ b/src/utils/KernelTestBase.sol @@ -5,24 +5,24 @@ import {IEntryPoint} from "I4337/interfaces/IEntryPoint.sol"; import {ENTRYPOINT_0_6_ADDRESS, ENTRYPOINT_0_6_BYTECODE} from "I4337/artifacts/EntryPoint_0_6.sol"; import {CREATOR_0_6_BYTECODE, CREATOR_0_6_ADDRESS} from "I4337/artifacts/EntryPoint_0_6.sol"; import {UserOperation} from "I4337/interfaces/UserOperation.sol"; -import {Kernel} from "src/Kernel.sol"; -import {Operation} from "src/common/Enums.sol"; -import {Compatibility} from "src/abstract/Compatibility.sol"; -import {IKernel} from "src/interfaces/IKernel.sol"; -import {KernelFactory} from "src/factory/KernelFactory.sol"; -import {IKernelValidator} from "src/interfaces/IKernelValidator.sol"; - -import {Call, ExecutionDetail} from "src/common/Structs.sol"; -import {ValidationData, ValidUntil, ValidAfter} from "src/common/Types.sol"; -import {KERNEL_VERSION, KERNEL_NAME} from "src/common/Constants.sol"; - -import {ERC4337Utils} from "test/foundry/utils/ERC4337Utils.sol"; +import {Kernel} from "../Kernel.sol"; +import {Operation} from "../common/Enums.sol"; +import {Compatibility} from "../abstract/Compatibility.sol"; +import {IKernel} from "../interfaces/IKernel.sol"; +import {KernelFactory} from "../factory/KernelFactory.sol"; +import {IKernelValidator} from "../interfaces/IKernelValidator.sol"; + +import {Call, ExecutionDetail} from "../common/Structs.sol"; +import {ValidationData, ValidUntil, ValidAfter} from "../common/Types.sol"; +import {KERNEL_VERSION, KERNEL_NAME} from "../common/Constants.sol"; + +import {ERC4337Utils} from "./ERC4337Utils.sol"; import {Test} from "forge-std/Test.sol"; import {console} from "forge-std/Console.sol"; -import {TestValidator} from "./mock/TestValidator.sol"; -import {TestExecutor} from "./mock/TestExecutor.sol"; -import {TestERC721} from "./mock/TestERC721.sol"; -import {TestERC1155} from "./mock/TestERC1155.sol"; +import {TestValidator} from "../mock/TestValidator.sol"; +import {TestExecutor} from "../mock/TestExecutor.sol"; +import {TestERC721} from "../mock/TestERC721.sol"; +import {TestERC1155} from "../mock/TestERC1155.sol"; using ERC4337Utils for IEntryPoint; diff --git a/test/foundry/KernelECDSA.t.sol b/test/foundry/KernelECDSA.t.sol index 8d68abce..4ebe58ca 100644 --- a/test/foundry/KernelECDSA.t.sol +++ b/test/foundry/KernelECDSA.t.sol @@ -7,10 +7,10 @@ import "src/validator/ECDSAValidator.sol"; // test artifacts // test utils import "forge-std/Test.sol"; -import {ERC4337Utils} from "./utils/ERC4337Utils.sol"; -import {KernelTestBase} from "./KernelTestBase.sol"; -import {TestExecutor} from "./mock/TestExecutor.sol"; -import {TestValidator} from "./mock/TestValidator.sol"; +import {ERC4337Utils} from "src/utils/ERC4337Utils.sol"; +import {KernelTestBase} from "src/utils/KernelTestBase.sol"; +import {TestExecutor} from "src/mock/TestExecutor.sol"; +import {TestValidator} from "src/mock/TestValidator.sol"; import {IKernel} from "src/interfaces/IKernel.sol"; using ERC4337Utils for IEntryPoint; diff --git a/test/foundry/KernelLiteECDSA.t.sol b/test/foundry/KernelLiteECDSA.t.sol index 8979958c..70a71daf 100644 --- a/test/foundry/KernelLiteECDSA.t.sol +++ b/test/foundry/KernelLiteECDSA.t.sol @@ -7,10 +7,10 @@ import "src/lite/KernelLiteECDSA.sol"; // test artifacts // test utils import "forge-std/Test.sol"; -import {ERC4337Utils} from "./utils/ERC4337Utils.sol"; -import {KernelTestBase} from "./KernelTestBase.sol"; -import {TestExecutor} from "./mock/TestExecutor.sol"; -import {TestValidator} from "./mock/TestValidator.sol"; +import {ERC4337Utils} from "src/utils/ERC4337Utils.sol"; +import {KernelTestBase} from "src/utils/KernelTestBase.sol"; +import {TestExecutor} from "src/mock/TestExecutor.sol"; +import {TestValidator} from "src/mock/TestValidator.sol"; import {ECDSAValidator} from "src/validator/ECDSAValidator.sol"; using ERC4337Utils for IEntryPoint; diff --git a/test/foundry/validator/KernelECDSATyped.t.sol b/test/foundry/validator/KernelECDSATyped.t.sol index cfe3eca5..4fd6bf44 100644 --- a/test/foundry/validator/KernelECDSATyped.t.sol +++ b/test/foundry/validator/KernelECDSATyped.t.sol @@ -7,10 +7,10 @@ import "src/validator/ECDSATypedValidator.sol"; // test artifacts // test utils import "forge-std/Test.sol"; -import {ERC4337Utils} from "../utils/ERC4337Utils.sol"; -import {KernelTestBase} from "../KernelTestBase.sol"; -import {TestExecutor} from "../mock/TestExecutor.sol"; -import {TestValidator} from "../mock/TestValidator.sol"; +import {ERC4337Utils} from "src/utils/ERC4337Utils.sol"; +import {KernelTestBase} from "src/utils/KernelTestBase.sol"; +import {TestExecutor} from "src/mock/TestExecutor.sol"; +import {TestValidator} from "src/mock/TestValidator.sol"; import {IKernel} from "src/interfaces/IKernel.sol"; using ERC4337Utils for IEntryPoint; @@ -140,9 +140,6 @@ contract KernelECDSATypedTest is KernelTestBase { view returns (bytes memory) { - // Get the kernel private key owner address - address owner = vm.addr(_privateKey); - // Get the validator domain separator bytes32 domainSeparator = ecdsaTypedValidator.getDomainSeperator(); bytes32 typedMsgHash = keccak256( diff --git a/test/foundry/validator/KillSwitchValidator.t.sol b/test/foundry/validator/KillSwitchValidator.t.sol index 8a3861fb..3ab45b14 100644 --- a/test/foundry/validator/KillSwitchValidator.t.sol +++ b/test/foundry/validator/KillSwitchValidator.t.sol @@ -8,8 +8,8 @@ import "src/validator/KillSwitchValidator.sol"; import "src/executor/KillSwitchAction.sol"; // test utils import "forge-std/Test.sol"; -import "../utils/ERC4337Utils.sol"; -import {KernelTestBase} from "../KernelTestBase.sol"; +import "src/utils/ERC4337Utils.sol"; +import {KernelTestBase} from "src/utils/KernelTestBase.sol"; import {KernelECDSATest} from "../KernelECDSA.t.sol"; using ERC4337Utils for IEntryPoint; diff --git a/test/foundry/validator/SessionKeyValidator.t.sol b/test/foundry/validator/SessionKeyValidator.t.sol index e9b75105..e231c1d4 100644 --- a/test/foundry/validator/SessionKeyValidator.t.sol +++ b/test/foundry/validator/SessionKeyValidator.t.sol @@ -7,21 +7,21 @@ import "src/validator/ECDSAValidator.sol"; import "src/factory/KernelFactory.sol"; import {Call} from "src/common/Structs.sol"; // test artifacts -import "../mock/TestValidator.sol"; -import "../mock/TestExecutor.sol"; -import "../mock/TestERC721.sol"; -import "../mock/TestERC20.sol"; -import "../mock/TestPaymaster.sol"; +import "src/mock/TestValidator.sol"; +import "src/mock/TestExecutor.sol"; +import "src/mock/TestERC721.sol"; +import "src/mock/TestERC20.sol"; +import "src/mock/TestPaymaster.sol"; // test utils import "forge-std/Test.sol"; -import "../utils/ERC4337Utils.sol"; +import "src/utils/ERC4337Utils.sol"; import "../utils/Merkle.sol"; // test actions/validators import "src/validator/SessionKeyValidator.sol"; import {KernelECDSATest} from "../KernelECDSA.t.sol"; -import "../mock/TestCallee.sol"; -import "../mock/TestERC20.sol"; +import "src/mock/TestCallee.sol"; +import "src/mock/TestERC20.sol"; using ERC4337Utils for IEntryPoint; From 48479d529bcff1715e8b01ce92dcb43ea845e774 Mon Sep 17 00:00:00 2001 From: Quentin Nivelais Date: Mon, 29 Jan 2024 16:52:28 +0100 Subject: [PATCH 27/51] Add WebAuthN validator (#68) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 🚧 Simple webauthn validator * 🚧 Add deploy script for WebAuthN validator * 🚧 Fix pre op estimation by removing early exit during webauthn msg format * ✅ Add webauthn validator unit test * 🚚 rename WebAuthnValidator -> WebAuthnFclValidator * ♻️ Lot of WebAuthN review - Stay in calldata for webauthn challenge formatting - Stay inside the WebAuthN validator contract for challenge preparation etc, only exit for p256 verification - Better SoC between validator / webauthn / p256 - Wrap the p256 verification logic inside a contract that can be easily replaced when RIP-7212 is deployed * ⚡️ Minor gas optimisation (switching to solady base64 lib) * ✅ Add more tests on sig validation, dummy sig bypass etc * ⚡️ Gas optimisation during webauthn msg check / format * 🐛 Post rebase fix * 🚚 Move webauthn helper and validator inside subfolder validator/webauthn * ⚡️ Switched to foundry cheatcode for p256 sig validation during test And fix deploy script --- .gas-snapshot | 389 +++++++++++------- .gitmodules | 3 + lib/FreshCryptoLib | 1 + lib/forge-std | 2 +- remappings.txt | 1 - script/DeployWebAuthnFclValidator.sol | 24 ++ src/utils/P256VerifierWrapper.sol | 45 ++ .../webauthn/WebAuthnFclValidator.sol | 124 ++++++ .../webauthn/WebAuthnFclVerifier.sol | 138 +++++++ .../validator/WebAuthnFclValidator.t.sol | 358 ++++++++++++++++ 10 files changed, 926 insertions(+), 159 deletions(-) create mode 160000 lib/FreshCryptoLib create mode 100644 script/DeployWebAuthnFclValidator.sol create mode 100644 src/utils/P256VerifierWrapper.sol create mode 100644 src/validator/webauthn/WebAuthnFclValidator.sol create mode 100644 src/validator/webauthn/WebAuthnFclVerifier.sol create mode 100644 test/foundry/validator/WebAuthnFclValidator.t.sol diff --git a/.gas-snapshot b/.gas-snapshot index e41656f8..09164ee6 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,160 +1,235 @@ KernelECDSATest:test_default_validator_disable() (gas: 0) -KernelECDSATest:test_default_validator_disable() (gas: 180311) +KernelECDSATest:test_default_validator_disable() (gas: 180903) KernelECDSATest:test_default_validator_enable() (gas: 0) -KernelECDSATest:test_default_validator_enable() (gas: 187800) -KernelECDSATest:test_disable_mode() (gas: 182795) -KernelECDSATest:test_disable_mode() (gas: 192079) -KernelECDSATest:test_eip712() (gas: 15684) -KernelECDSATest:test_eip712() (gas: 15684) -KernelECDSATest:test_enable_then_mode_1() (gas: 277994) -KernelECDSATest:test_enable_then_mode_1() (gas: 286106) -KernelECDSATest:test_external_call_batch_execute_fail() (gas: 23628) -KernelECDSATest:test_external_call_batch_execute_fail() (gas: 29534) -KernelECDSATest:test_external_call_batch_execute_success() (gas: 20629) -KernelECDSATest:test_external_call_batch_execute_success() (gas: 26536) -KernelECDSATest:test_external_call_default() (gas: 23511) -KernelECDSATest:test_external_call_default() (gas: 29338) -KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 22499) -KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 28381) -KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 20434) -KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 26329) -KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 19738) -KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 25621) -KernelECDSATest:test_external_call_execute_fail() (gas: 21968) -KernelECDSATest:test_external_call_execute_fail() (gas: 27862) -KernelECDSATest:test_external_call_execute_success() (gas: 20070) -KernelECDSATest:test_external_call_execute_success() (gas: 25987) -KernelECDSATest:test_external_call_execution() (gas: 497819) -KernelECDSATest:test_external_call_execution() (gas: 510696) +KernelECDSATest:test_default_validator_enable() (gas: 188628) +KernelECDSATest:test_disable_mode() (gas: 182553) +KernelECDSATest:test_disable_mode() (gas: 191433) +KernelECDSATest:test_eip712() (gas: 15037) +KernelECDSATest:test_eip712() (gas: 15059) +KernelECDSATest:test_enable_then_mode_1() (gas: 279181) +KernelECDSATest:test_enable_then_mode_1() (gas: 287578) +KernelECDSATest:test_external_call_batch_execute_fail() (gas: 22756) +KernelECDSATest:test_external_call_batch_execute_fail() (gas: 28852) +KernelECDSATest:test_external_call_batch_execute_success() (gas: 20270) +KernelECDSATest:test_external_call_batch_execute_success() (gas: 26366) +KernelECDSATest:test_external_call_default() (gas: 22692) +KernelECDSATest:test_external_call_default() (gas: 28797) +KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 21787) +KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 27771) +KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 19427) +KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 25605) +KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 18939) +KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 24923) +KernelECDSATest:test_external_call_execute_fail() (gas: 21852) +KernelECDSATest:test_external_call_execute_fail() (gas: 28030) +KernelECDSATest:test_external_call_execute_success() (gas: 19187) +KernelECDSATest:test_external_call_execute_success() (gas: 25387) +KernelECDSATest:test_external_call_execution() (gas: 569078) +KernelECDSATest:test_external_call_execution() (gas: 582722) KernelECDSATest:test_fail_validate_not_activate() (gas: 0) -KernelECDSATest:test_fail_validate_not_activate() (gas: 303491) -KernelECDSATest:test_fail_validate_wrongsignature() (gas: 24904) -KernelECDSATest:test_fail_validate_wrongsignature() (gas: 34133) -KernelECDSATest:test_get_nonce() (gas: 25179) -KernelECDSATest:test_get_nonce() (gas: 25201) -KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) -KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) -KernelECDSATest:test_ignore() (gas: 868) -KernelECDSATest:test_initialize() (gas: 126784) -KernelECDSATest:test_initialize() (gas: 154121) -KernelECDSATest:test_initialize_twice() (gas: 18555) -KernelECDSATest:test_initialize_twice() (gas: 18698) -KernelECDSATest:test_mode_2() (gas: 243052) -KernelECDSATest:test_mode_2() (gas: 250243) -KernelECDSATest:test_revert_when_mode_disabled() (gas: 199003) -KernelECDSATest:test_revert_when_mode_disabled() (gas: 208287) -KernelECDSATest:test_set_default_validator() (gas: 417145) -KernelECDSATest:test_set_default_validator() (gas: 423335) -KernelECDSATest:test_set_execution() (gas: 458142) -KernelECDSATest:test_set_execution() (gas: 468303) -KernelECDSATest:test_should_emit_event_on_receive() (gas: 23220) -KernelECDSATest:test_should_emit_event_on_receive() (gas: 23220) -KernelECDSATest:test_should_receive_erc1155() (gas: 701145) -KernelECDSATest:test_should_receive_erc1155() (gas: 701171) -KernelECDSATest:test_should_receive_erc1155_batch() (gas: 728411) -KernelECDSATest:test_should_receive_erc1155_batch() (gas: 728411) -KernelECDSATest:test_should_receive_erc721() (gas: 597680) -KernelECDSATest:test_should_receive_erc721() (gas: 597702) -KernelECDSATest:test_should_return_address_if_deployed() (gas: 21970) -KernelECDSATest:test_should_return_address_if_deployed() (gas: 21976) -KernelECDSATest:test_sudo() (gas: 170002) -KernelECDSATest:test_sudo() (gas: 179450) -KernelECDSATest:test_sudo_wrongSig() (gas: 102566) -KernelECDSATest:test_sudo_wrongSig() (gas: 115709) -KernelECDSATest:test_transfer_ownership() (gas: 178398) -KernelECDSATest:test_upgrade() (gas: 21292) -KernelECDSATest:test_upgrade() (gas: 21292) -KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26550) -KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26550) -KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 30591) -KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 30634) -KernelECDSATest:test_validate_signature() (gas: 155714) -KernelECDSATest:test_validate_signature() (gas: 194502) -KernelHelperTest:testIntersect(uint48,uint48,uint48,uint48) (runs: 1024, μ: 871, ~: 869) -KillSwitchValidatorTest:test_default_validator_disable() (gas: 180432) -KillSwitchValidatorTest:test_default_validator_enable() (gas: 187921) -KillSwitchValidatorTest:test_disable_mode() (gas: 182916) -KillSwitchValidatorTest:test_eip712() (gas: 15820) -KillSwitchValidatorTest:test_enable_then_mode_1() (gas: 348586) -KillSwitchValidatorTest:test_external_call_batch_execute_fail() (gas: 29622) -KillSwitchValidatorTest:test_external_call_batch_execute_success() (gas: 26558) -KillSwitchValidatorTest:test_external_call_default() (gas: 29426) -KillSwitchValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 28469) -KillSwitchValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 26439) -KillSwitchValidatorTest:test_external_call_execute_delegatecall_success() (gas: 25709) -KillSwitchValidatorTest:test_external_call_execute_fail() (gas: 27906) -KillSwitchValidatorTest:test_external_call_execute_success() (gas: 26075) -KillSwitchValidatorTest:test_external_call_execution() (gas: 510817) -KillSwitchValidatorTest:test_fail_validate_not_activate() (gas: 303601) -KillSwitchValidatorTest:test_fail_validate_wrongsignature() (gas: 34276) -KillSwitchValidatorTest:test_force_unblock() (gas: 391544) -KillSwitchValidatorTest:test_get_nonce() (gas: 25201) -KillSwitchValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19930, ~: 19930) -KillSwitchValidatorTest:test_ignore() (gas: 956) -KillSwitchValidatorTest:test_initialize() (gas: 154209) -KillSwitchValidatorTest:test_initialize_twice() (gas: 18643) -KillSwitchValidatorTest:test_mode_2() (gas: 312761) -KillSwitchValidatorTest:test_revert_when_mode_disabled() (gas: 199157) -KillSwitchValidatorTest:test_set_default_validator() (gas: 423434) -KillSwitchValidatorTest:test_set_execution() (gas: 468424) -KillSwitchValidatorTest:test_should_emit_event_on_receive() (gas: 23330) -KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature() (gas: 9236) -KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature(bytes32,bytes) (runs: 1024, μ: 9601, ~: 9556) -KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller() (gas: 10157) -KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller(address,bytes) (runs: 1024, μ: 9749, ~: 9703) -KillSwitchValidatorTest:test_should_receive_erc1155() (gas: 701233) -KillSwitchValidatorTest:test_should_receive_erc1155_batch() (gas: 728499) -KillSwitchValidatorTest:test_should_receive_erc721() (gas: 597790) -KillSwitchValidatorTest:test_should_return_address_if_deployed() (gas: 22086) -KillSwitchValidatorTest:test_sudo() (gas: 179549) -KillSwitchValidatorTest:test_sudo_wrongSig() (gas: 115830) -KillSwitchValidatorTest:test_upgrade() (gas: 21314) -KillSwitchValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26638) -KillSwitchValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 30708) -KillSwitchValidatorTest:test_validate_signature() (gas: 194579) -SessionKeyValidatorTest:test_default_validator_disable() (gas: 180311) -SessionKeyValidatorTest:test_default_validator_enable() (gas: 187800) -SessionKeyValidatorTest:test_disable_mode() (gas: 182795) -SessionKeyValidatorTest:test_eip712() (gas: 15684) -SessionKeyValidatorTest:test_enable_then_mode_1() (gas: 286128) -SessionKeyValidatorTest:test_external_call_batch_execute_fail() (gas: 29534) -SessionKeyValidatorTest:test_external_call_batch_execute_success() (gas: 26536) -SessionKeyValidatorTest:test_external_call_default() (gas: 29338) -SessionKeyValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 28381) -SessionKeyValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 26351) -SessionKeyValidatorTest:test_external_call_execute_delegatecall_success() (gas: 25621) -SessionKeyValidatorTest:test_external_call_execute_fail() (gas: 27862) -SessionKeyValidatorTest:test_external_call_execute_success() (gas: 26009) -SessionKeyValidatorTest:test_external_call_execution() (gas: 510718) -SessionKeyValidatorTest:test_fail_validate_not_activate() (gas: 303513) -SessionKeyValidatorTest:test_fail_validate_wrongsignature() (gas: 34165) -SessionKeyValidatorTest:test_get_nonce() (gas: 25179) -SessionKeyValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) -SessionKeyValidatorTest:test_ignore() (gas: 890) -SessionKeyValidatorTest:test_initialize() (gas: 154121) -SessionKeyValidatorTest:test_initialize_twice() (gas: 18555) -SessionKeyValidatorTest:test_mode_2() (gas: 250298) -SessionKeyValidatorTest:test_revert_when_mode_disabled() (gas: 199003) -SessionKeyValidatorTest:test_scenario_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool),(uint8)) (runs: 1024, μ: 43997409, ~: 32002162) -SessionKeyValidatorTest:test_scenario_non_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool)) (runs: 1024, μ: 17511495, ~: 17372686) -SessionKeyValidatorTest:test_set_default_validator() (gas: 423335) -SessionKeyValidatorTest:test_set_execution() (gas: 468303) -SessionKeyValidatorTest:test_should_emit_event_on_receive() (gas: 23242) -SessionKeyValidatorTest:test_should_receive_erc1155() (gas: 701145) -SessionKeyValidatorTest:test_should_receive_erc1155_batch() (gas: 728411) -SessionKeyValidatorTest:test_should_receive_erc721() (gas: 597724) -SessionKeyValidatorTest:test_should_return_address_if_deployed() (gas: 22003) -SessionKeyValidatorTest:test_sudo() (gas: 179450) -SessionKeyValidatorTest:test_sudo_wrongSig() (gas: 115731) -SessionKeyValidatorTest:test_upgrade() (gas: 21292) -SessionKeyValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26574) -SessionKeyValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 30634) -SessionKeyValidatorTest:test_validate_signature() (gas: 194502) -TestCallee:test_ignore() (gas: 206) -TestCounter:test_ignore() (gas: 164) -TestERC1155:test_ignore() (gas: 328) -TestERC20:test_ignore() (gas: 389) -TestERC721:test_ignore() (gas: 399) -TestExecutor:test_ignore() (gas: 130) -TestPaymaster:test_ignore() (gas: 174) -TestValidator:test_ignore() (gas: 351) \ No newline at end of file +KernelECDSATest:test_fail_validate_not_activate() (gas: 374629) +KernelECDSATest:test_fail_validate_wrongsignature() (gas: 23961) +KernelECDSATest:test_fail_validate_wrongsignature() (gas: 33419) +KernelECDSATest:test_get_nonce() (gas: 24893) +KernelECDSATest:test_get_nonce() (gas: 24914) +KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19517, ~: 19517) +KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19561, ~: 19561) +KernelECDSATest:test_ignore() (gas: 231) +KernelECDSATest:test_initialize() (gas: 126587) +KernelECDSATest:test_initialize() (gas: 154222) +KernelECDSATest:test_initialize_twice() (gas: 18215) +KernelECDSATest:test_initialize_twice() (gas: 18218) +KernelECDSATest:test_mode_2() (gas: 243855) +KernelECDSATest:test_mode_2() (gas: 251191) +KernelECDSATest:test_revert_when_mode_disabled() (gas: 200091) +KernelECDSATest:test_revert_when_mode_disabled() (gas: 209038) +KernelECDSATest:test_set_default_validator() (gas: 488911) +KernelECDSATest:test_set_default_validator() (gas: 495350) +KernelECDSATest:test_set_execution() (gas: 530141) +KernelECDSATest:test_set_execution() (gas: 540583) +KernelECDSATest:test_should_emit_event_on_receive() (gas: 22287) +KernelECDSATest:test_should_emit_event_on_receive() (gas: 22287) +KernelECDSATest:test_should_receive_erc1155() (gas: 859668) +KernelECDSATest:test_should_receive_erc1155() (gas: 859712) +KernelECDSATest:test_should_receive_erc1155_batch() (gas: 887339) +KernelECDSATest:test_should_receive_erc1155_batch() (gas: 887340) +KernelECDSATest:test_should_receive_erc721() (gas: 625633) +KernelECDSATest:test_should_receive_erc721() (gas: 625655) +KernelECDSATest:test_should_return_address_if_deployed() (gas: 21491) +KernelECDSATest:test_should_return_address_if_deployed() (gas: 21494) +KernelECDSATest:test_sudo() (gas: 169895) +KernelECDSATest:test_sudo() (gas: 179673) +KernelECDSATest:test_sudo_wrongSig() (gas: 102225) +KernelECDSATest:test_sudo_wrongSig() (gas: 115727) +KernelECDSATest:test_transfer_ownership() (gas: 183729) +KernelECDSATest:test_upgrade() (gas: 21204) +KernelECDSATest:test_upgrade() (gas: 21311) +KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26572) +KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26595) +KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 23483) +KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 23506) +KernelECDSATest:test_validate_signature() (gas: 155498) +KernelECDSATest:test_validate_signature() (gas: 195025) +KernelECDSATypedTest:test_default_validator_disable() (gas: 185197) +KernelECDSATypedTest:test_default_validator_enable() (gas: 192490) +KernelECDSATypedTest:test_disable_mode() (gas: 186804) +KernelECDSATypedTest:test_eip712() (gas: 15059) +KernelECDSATypedTest:test_enable_then_mode_1() (gas: 291831) +KernelECDSATypedTest:test_external_call_batch_execute_fail() (gas: 28808) +KernelECDSATypedTest:test_external_call_batch_execute_success() (gas: 26322) +KernelECDSATypedTest:test_external_call_default() (gas: 28753) +KernelECDSATypedTest:test_external_call_execute_delegatecall_fail() (gas: 27727) +KernelECDSATypedTest:test_external_call_execute_delegatecall_option_fail() (gas: 25561) +KernelECDSATypedTest:test_external_call_execute_delegatecall_success() (gas: 24879) +KernelECDSATypedTest:test_external_call_execute_fail() (gas: 27986) +KernelECDSATypedTest:test_external_call_execute_success() (gas: 25343) +KernelECDSATypedTest:test_external_call_execution() (gas: 586886) +KernelECDSATypedTest:test_fail_validate_not_activate() (gas: 374629) +KernelECDSATypedTest:test_fail_validate_wrongsignature() (gas: 35730) +KernelECDSATypedTest:test_get_nonce() (gas: 24914) +KernelECDSATypedTest:test_get_nonce(uint192) (runs: 1024, μ: 19561, ~: 19561) +KernelECDSATypedTest:test_ignore() (gas: 231) +KernelECDSATypedTest:test_initialize() (gas: 153746) +KernelECDSATypedTest:test_initialize_twice() (gas: 18215) +KernelECDSATypedTest:test_mode_2() (gas: 253563) +KernelECDSATypedTest:test_revert_when_mode_disabled() (gas: 204387) +KernelECDSATypedTest:test_set_default_validator() (gas: 499602) +KernelECDSATypedTest:test_set_execution() (gas: 544835) +KernelECDSATypedTest:test_should_emit_event_on_receive() (gas: 22287) +KernelECDSATypedTest:test_should_receive_erc1155() (gas: 859712) +KernelECDSATypedTest:test_should_receive_erc1155_batch() (gas: 887339) +KernelECDSATypedTest:test_should_receive_erc721() (gas: 625655) +KernelECDSATypedTest:test_should_return_address_if_deployed() (gas: 21494) +KernelECDSATypedTest:test_sudo() (gas: 183925) +KernelECDSATypedTest:test_sudo_wrongSig() (gas: 116245) +KernelECDSATypedTest:test_upgrade() (gas: 21204) +KernelECDSATypedTest:test_validateUserOp_fail_invalid_mode() (gas: 26572) +KernelECDSATypedTest:test_validateUserOp_fail_not_entryPoint() (gas: 23483) +KernelECDSATypedTest:test_validate_signature() (gas: 191688) +KernelHelperTest:testIntersect(uint48,uint48,uint48,uint48) (runs: 1024, μ: 1415, ~: 1419) +KillSwitchValidatorTest:test_default_validator_disable() (gas: 180990) +KillSwitchValidatorTest:test_default_validator_enable() (gas: 188633) +KillSwitchValidatorTest:test_disable_mode() (gas: 182486) +KillSwitchValidatorTest:test_eip712() (gas: 15126) +KillSwitchValidatorTest:test_enable_then_mode_1() (gas: 351532) +KillSwitchValidatorTest:test_external_call_batch_execute_fail() (gas: 28897) +KillSwitchValidatorTest:test_external_call_batch_execute_success() (gas: 26278) +KillSwitchValidatorTest:test_external_call_default() (gas: 28775) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 27793) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 25605) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_success() (gas: 24945) +KillSwitchValidatorTest:test_external_call_execute_fail() (gas: 28030) +KillSwitchValidatorTest:test_external_call_execute_success() (gas: 25343) +KillSwitchValidatorTest:test_external_call_execution() (gas: 582720) +KillSwitchValidatorTest:test_fail_validate_not_activate() (gas: 374629) +KillSwitchValidatorTest:test_fail_validate_wrongsignature() (gas: 33461) +KillSwitchValidatorTest:test_force_unblock() (gas: 398854) +KillSwitchValidatorTest:test_get_nonce() (gas: 24936) +KillSwitchValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19561, ~: 19561) +KillSwitchValidatorTest:test_ignore() (gas: 209) +KillSwitchValidatorTest:test_initialize() (gas: 154273) +KillSwitchValidatorTest:test_initialize_twice() (gas: 18288) +KillSwitchValidatorTest:test_mode_2() (gas: 315241) +KillSwitchValidatorTest:test_revert_when_mode_disabled() (gas: 200109) +KillSwitchValidatorTest:test_set_default_validator() (gas: 495459) +KillSwitchValidatorTest:test_set_execution() (gas: 540647) +KillSwitchValidatorTest:test_should_emit_event_on_receive() (gas: 22287) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature() (gas: 9199) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature(bytes32,bytes) (runs: 1024, μ: 9503, ~: 9456) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller() (gas: 9290) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller(address,bytes) (runs: 1024, μ: 9793, ~: 9745) +KillSwitchValidatorTest:test_should_receive_erc1155() (gas: 859712) +KillSwitchValidatorTest:test_should_receive_erc1155_batch() (gas: 887273) +KillSwitchValidatorTest:test_should_receive_erc721() (gas: 625678) +KillSwitchValidatorTest:test_should_return_address_if_deployed() (gas: 21545) +KillSwitchValidatorTest:test_sudo() (gas: 179715) +KillSwitchValidatorTest:test_sudo_wrongSig() (gas: 115725) +KillSwitchValidatorTest:test_upgrade() (gas: 21226) +KillSwitchValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26594) +KillSwitchValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23505) +KillSwitchValidatorTest:test_validate_signature() (gas: 195118) +SessionKeyValidatorTest:test_default_validator_disable() (gas: 180955) +SessionKeyValidatorTest:test_default_validator_enable() (gas: 188686) +SessionKeyValidatorTest:test_disable_mode() (gas: 182538) +SessionKeyValidatorTest:test_eip712() (gas: 15166) +SessionKeyValidatorTest:test_enable_then_mode_1() (gas: 287585) +SessionKeyValidatorTest:test_external_call_batch_execute_fail() (gas: 28913) +SessionKeyValidatorTest:test_external_call_batch_execute_success() (gas: 26404) +SessionKeyValidatorTest:test_external_call_default() (gas: 28820) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 27749) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 25605) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_success() (gas: 25010) +SessionKeyValidatorTest:test_external_call_execute_fail() (gas: 28030) +SessionKeyValidatorTest:test_external_call_execute_success() (gas: 25387) +SessionKeyValidatorTest:test_external_call_execution() (gas: 582763) +SessionKeyValidatorTest:test_fail_validate_not_activate() (gas: 374629) +SessionKeyValidatorTest:test_fail_validate_wrongsignature() (gas: 33448) +SessionKeyValidatorTest:test_get_nonce() (gas: 24914) +SessionKeyValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19584, ~: 19584) +SessionKeyValidatorTest:test_ignore() (gas: 209) +SessionKeyValidatorTest:test_initialize() (gas: 154229) +SessionKeyValidatorTest:test_initialize_twice() (gas: 18244) +SessionKeyValidatorTest:test_mode_2() (gas: 251232) +SessionKeyValidatorTest:test_revert_when_mode_disabled() (gas: 200149) +SessionKeyValidatorTest:test_scenario_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool,bool),(uint8)) (runs: 1024, μ: 58166090, ~: 56971973) +SessionKeyValidatorTest:test_scenario_non_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool,bool)) (runs: 1024, μ: 54097883, ~: 56753303) +SessionKeyValidatorTest:test_set_default_validator() (gas: 495379) +SessionKeyValidatorTest:test_set_execution() (gas: 540624) +SessionKeyValidatorTest:test_should_emit_event_on_receive() (gas: 22287) +SessionKeyValidatorTest:test_should_receive_erc1155() (gas: 859735) +SessionKeyValidatorTest:test_should_receive_erc1155_batch() (gas: 887339) +SessionKeyValidatorTest:test_should_receive_erc721() (gas: 625655) +SessionKeyValidatorTest:test_should_return_address_if_deployed() (gas: 21545) +SessionKeyValidatorTest:test_sudo() (gas: 179702) +SessionKeyValidatorTest:test_sudo_wrongSig() (gas: 115756) +SessionKeyValidatorTest:test_upgrade() (gas: 21204) +SessionKeyValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26550) +SessionKeyValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23483) +SessionKeyValidatorTest:test_validate_signature() (gas: 195105) +TestCallee:test_ignore() (gas: 184) +TestCounter:test_ignore() (gas: 120) +TestERC1155:test_ignore() (gas: 186) +TestERC20:test_ignore() (gas: 164) +TestERC721:test_ignore() (gas: 140) +TestExecutor:test_ignore() (gas: 120) +TestPaymaster:test_ignore() (gas: 120) +TestValidator:test_ignore() (gas: 206) +WebAuthnFclValidatorTest:test_default_validator_disable() (gas: 892468) +WebAuthnFclValidatorTest:test_default_validator_enable() (gas: 917513) +WebAuthnFclValidatorTest:test_disable_mode() (gas: 906453) +WebAuthnFclValidatorTest:test_dontRevertForDummySig() (gas: 33996) +WebAuthnFclValidatorTest:test_eip712() (gas: 15126) +WebAuthnFclValidatorTest:test_enable_then_mode_1() (gas: 1350842) +WebAuthnFclValidatorTest:test_external_call_batch_execute_fail() (gas: 23988) +WebAuthnFclValidatorTest:test_external_call_batch_execute_success() (gas: 0) +WebAuthnFclValidatorTest:test_external_call_default() (gas: 0) +WebAuthnFclValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 0) +WebAuthnFclValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 20913) +WebAuthnFclValidatorTest:test_external_call_execute_delegatecall_success() (gas: 0) +WebAuthnFclValidatorTest:test_external_call_execute_fail() (gas: 21042) +WebAuthnFclValidatorTest:test_external_call_execute_success() (gas: 0) +WebAuthnFclValidatorTest:test_external_call_execution() (gas: 0) +WebAuthnFclValidatorTest:test_fail_validate_InvalidWebAuthnData() (gas: 381009) +WebAuthnFclValidatorTest:test_fail_validate_not_activate() (gas: 374618) +WebAuthnFclValidatorTest:test_fail_validate_wrongsignature() (gas: 763214) +WebAuthnFclValidatorTest:test_get_nonce() (gas: 24914) +WebAuthnFclValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19561, ~: 19561) +WebAuthnFclValidatorTest:test_initialize() (gas: 178292) +WebAuthnFclValidatorTest:test_initialize_twice() (gas: 20501) +WebAuthnFclValidatorTest:test_mode_2() (gas: 1311901) +WebAuthnFclValidatorTest:test_revert_when_mode_disabled() (gas: 924091) +WebAuthnFclValidatorTest:test_set_default_validator() (gas: 1211266) +WebAuthnFclValidatorTest:test_set_execution() (gas: 1276676) +WebAuthnFclValidatorTest:test_should_emit_event_on_receive() (gas: 22287) +WebAuthnFclValidatorTest:test_should_receive_erc1155() (gas: 859701) +WebAuthnFclValidatorTest:test_should_receive_erc1155_batch() (gas: 887273) +WebAuthnFclValidatorTest:test_should_receive_erc721() (gas: 625633) +WebAuthnFclValidatorTest:test_should_return_address_if_deployed() (gas: 23765) +WebAuthnFclValidatorTest:test_sudo() (gas: 906016) +WebAuthnFclValidatorTest:test_sudo_wrongSig() (gas: 841531) +WebAuthnFclValidatorTest:test_upgrade() (gas: 21226) +WebAuthnFclValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26594) +WebAuthnFclValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23483) +WebAuthnFclValidatorTest:test_validate_signature() (gas: 751849) +WebAuthnFclValidatorTest:test_webAuthnSignatureGeneration(bytes32,uint256) (runs: 1024, μ: 1277845, ~: 1199457) +WebAuthnFclValidatorTest:test_webAuthnSignatureGeneration_solo() (gas: 1116434) \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index 744ac54b..df6cfb84 100644 --- a/.gitmodules +++ b/.gitmodules @@ -7,3 +7,6 @@ [submodule "lib/I4337"] path = lib/I4337 url = https://github.com/leekt/I4337 +[submodule "lib/FreshCryptoLib"] + path = lib/FreshCryptoLib + url = https://github.com/rdubois-crypto/FreshCryptoLib diff --git a/lib/FreshCryptoLib b/lib/FreshCryptoLib new file mode 160000 index 00000000..1a484cdf --- /dev/null +++ b/lib/FreshCryptoLib @@ -0,0 +1 @@ +Subproject commit 1a484cdfd810046203f37b3e3c794d05720fb99c diff --git a/lib/forge-std b/lib/forge-std index 2f112697..ae570fec 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit 2f112697506eab12d433a65fdc31a639548fe365 +Subproject commit ae570fec082bfe1c1f45b0acca4a2b4f84d345ce diff --git a/remappings.txt b/remappings.txt index 82c83131..55b13aad 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,5 +1,4 @@ ds-test/=lib/forge-std/lib/ds-test/src/ forge-std/=lib/forge-std/src/ solady/=lib/solady/src/ -p256-verifier/=lib/p256-verifier/src/ FreshCryptoLib/=lib/FreshCryptoLib/solidity/src/ \ No newline at end of file diff --git a/script/DeployWebAuthnFclValidator.sol b/script/DeployWebAuthnFclValidator.sol new file mode 100644 index 00000000..235e1b5b --- /dev/null +++ b/script/DeployWebAuthnFclValidator.sol @@ -0,0 +1,24 @@ +pragma solidity ^0.8.0; + +import "src/factory/KernelFactory.sol"; +import "src/utils/P256VerifierWrapper.sol"; +import "src/validator/webauthn//WebAuthnFclValidator.sol"; +import "forge-std/Script.sol"; +import "forge-std/console.sol"; + +contract DeployWebAuthnFclValidator is Script { + + function run() public { + uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); + vm.startBroadcast(key); + + P256VerifierWrapper p256VerifierWrapper = new P256VerifierWrapper{salt:0}(); + console.log("p256 wrapper address: %s", address(p256VerifierWrapper)); + + WebAuthnFclValidator validator = new WebAuthnFclValidator{salt:0}(address(p256VerifierWrapper)); + console.log("validator address: %s", address(validator)); + + vm.stopBroadcast(); + } +} + diff --git a/src/utils/P256VerifierWrapper.sol b/src/utils/P256VerifierWrapper.sol new file mode 100644 index 00000000..bc6340ac --- /dev/null +++ b/src/utils/P256VerifierWrapper.sol @@ -0,0 +1,45 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {FCL_ecdsa} from "FreshCryptoLib/FCL_ecdsa.sol"; + +/// @title P256VerifierWrapper +/// @author rdubois-crypto +/// @author KONFeature +/// @notice Wrapper arround the P256Verifier contract of @rdubois-crypto, using it to accept EIP-7212 compliant verification (p256 pre-compiled curve) +/// @dev This lib is only a wrapper around the P256Verifier contract. +/// It will call the verifySignature function of the P256Verifier contract. +/// Once the RIP-7212 will be deployed and effective, this contract will be useless. +/// Tracker on polygon: PR: https://github.com/maticnetwork/bor/pull/1069 +/// Now waiting on the Napoli hardfork to be deployed +contract P256VerifierWrapper { + /** + * Precompiles don't use a function signature. The first byte of callldata + * is the first byte of an input argument. In this case: + * + * input[ 0: 32] = signed data hash + * input[ 32: 64] = signature r + * input[ 64: 96] = signature s + * input[ 96:128] = public key x + * input[128:160] = public key y + * + * result[ 0: 32] = 0x00..00 (invalid) or 0x00..01 (valid) + * + * For details, see https://eips.ethereum.org/EIPS/eip-7212 + */ + fallback(bytes calldata input) external returns (bytes memory) { + if (input.length != 160) { + return abi.encodePacked(uint256(0)); + } + + bytes32 hash = bytes32(input[0:32]); + uint256 r = uint256(bytes32(input[32:64])); + uint256 s = uint256(bytes32(input[64:96])); + uint256 x = uint256(bytes32(input[96:128])); + uint256 y = uint256(bytes32(input[128:160])); + + uint256 ret = FCL_ecdsa.ecdsa_verify(hash, r, s, x, y) ? 1 : 0; + + return abi.encodePacked(ret); + } +} diff --git a/src/validator/webauthn/WebAuthnFclValidator.sol b/src/validator/webauthn/WebAuthnFclValidator.sol new file mode 100644 index 00000000..6169ed39 --- /dev/null +++ b/src/validator/webauthn/WebAuthnFclValidator.sol @@ -0,0 +1,124 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ECDSA} from "solady/utils/ECDSA.sol"; +import {IKernelValidator} from "../../interfaces/IKernelValidator.sol"; +import {ValidationData} from "../../common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "../../common/Constants.sol"; +import {WebAuthnFclVerifier} from "./WebAuthnFclVerifier.sol"; + +/// @dev Storage layout for a kernel in the WebAuthnValidator contract. +struct WebAuthnFclValidatorStorage { + /// @dev The `x` coord of the secp256r1 public key used to sign the user operation. + uint256 x; + /// @dev The `y` coord of the secp256r1 public key used to sign the user operation. + uint256 y; +} + +/// @author @KONFeature +/// @title WebAuthnFclValidator +/// @notice Kernel validator used to validated user operations via WebAuthn signature (using P256 under the hood) +/// @notice Using the awesome FreshCryptoLib: https://github.com/rdubois-crypto/FreshCryptoLib/ +/// @notice Inspired by the cometh Gnosis Safe signer: https://github.com/cometh-game/p256-signer +contract WebAuthnFclValidator is IKernelValidator { + /// @dev Event emitted when the public key signing the WebAuthN user operation is changed for a given `kernel`. + event WebAuthnPublicKeyChanged(address indexed kernel, uint256 x, uint256 y); + + /// @dev Mapping of kernel address to each webAuthn specific storage + mapping(address kernel => WebAuthnFclValidatorStorage webAuthnStorage) private webAuthnValidatorStorage; + + /// @dev The address of the p256 verifier contract (should be 0x100 on the RIP-7212 compliant chains) + /// @dev To follow up for the deployment: https://forum.polygon.technology/t/pip-27-precompiled-for-secp256r1-curve-support/13049 + address public immutable P256_VERIFIER; + + /// @dev Simple constructor, setting the P256 verifier address + constructor(address _p256Verifier) { + P256_VERIFIER = _p256Verifier; + } + + /// @dev Disable this validator for a given `kernel` (msg.sender) + function disable(bytes calldata) external payable override { + delete webAuthnValidatorStorage[msg.sender]; + } + + /// @dev Enable this validator for a given `kernel` (msg.sender) + function enable(bytes calldata _data) external payable override { + // Extract the x & y coordinates of the public key from the `_data` bytes + (uint256 x, uint256 y) = abi.decode(_data, (uint256, uint256)); + // Update the pub key data + WebAuthnFclValidatorStorage storage kernelValidatorStorage = webAuthnValidatorStorage[msg.sender]; + kernelValidatorStorage.x = x; + kernelValidatorStorage.y = y; + // Emit the update event + emit WebAuthnPublicKeyChanged(msg.sender, x, y); + } + + /// @dev Validate a `_userOp` using a WebAuthn Signature for the kernel account who is the `_userOp` sender + function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) + external + payable + override + returns (ValidationData validationData) + { + WebAuthnFclValidatorStorage memory kernelValidatorStorage = webAuthnValidatorStorage[_userOp.sender]; + + // Perform a check against the direct userOpHash, if ok consider the user op as validated + if (_checkSignature(kernelValidatorStorage, _userOpHash, _userOp.signature)) { + return ValidationData.wrap(0); + } + + return SIG_VALIDATION_FAILED; + } + + /// @dev Validate a `_signature` of the `_hash` ofor the given `kernel` (msg.sender) + function validateSignature(bytes32 _hash, bytes calldata _signature) + public + view + override + returns (ValidationData) + { + WebAuthnFclValidatorStorage memory kernelValidatorStorage = webAuthnValidatorStorage[msg.sender]; + + // Check the validity againt the hash directly + if (_checkSignature(kernelValidatorStorage, _hash, _signature)) { + return ValidationData.wrap(0); + } + + // Otherwise, all good + return SIG_VALIDATION_FAILED; + } + + /// @notice Validates the given `_signature` againt the `_hash` for the given `kernel` (msg.sender) + /// @param _kernelValidatorStorage The kernel storage replication (helping us to fetch the X & Y points of the public key) + /// @param _hash The hash signed + /// @param _signature The signature + function _checkSignature( + WebAuthnFclValidatorStorage memory _kernelValidatorStorage, + bytes32 _hash, + bytes calldata _signature + ) private view returns (bool isValid) { + return WebAuthnFclVerifier._verifyWebAuthNSignature( + P256_VERIFIER, _hash, _signature, _kernelValidatorStorage.x, _kernelValidatorStorage.y + ); + } + + /// @dev Check if the caller is a valid signer, this don't apply to the WebAuthN validator, since it's using a public key + function validCaller(address, bytes calldata) external pure override returns (bool) { + revert NotImplemented(); + } + + /* -------------------------------------------------------------------------- */ + /* Public view methods */ + /* -------------------------------------------------------------------------- */ + + /// @dev Get the owner of a given `kernel` + function getPublicKey(address _kernel) public view returns (uint256 x, uint256 y) { + // Compute the storage slot + WebAuthnFclValidatorStorage storage kernelValidatorStorage = webAuthnValidatorStorage[_kernel]; + + // Access it for x and y + x = kernelValidatorStorage.x; + y = kernelValidatorStorage.y; + } +} diff --git a/src/validator/webauthn/WebAuthnFclVerifier.sol b/src/validator/webauthn/WebAuthnFclVerifier.sol new file mode 100644 index 00000000..1e1f3ebb --- /dev/null +++ b/src/validator/webauthn/WebAuthnFclVerifier.sol @@ -0,0 +1,138 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {Base64} from "solady/utils/Base64.sol"; + +/// @title WebAuthnFclVerifier +/// @author rdubois-crypto +/// @author obatirou +/// @author KONFeature +/// @notice A library used to format webauthn stuff into verifiable p256 messages msg +/// From https://github.com/cometh-hq/p256-signer/blob/09319213276da69aad6d96fa75cd339726f78bb9/contracts/P256Signer.sol +/// And https://github.com/rdubois-crypto/FreshCryptoLib/blob/master/solidity/src/FCL_Webauthn.sol +library WebAuthnFclVerifier { + /// @dev Error thrown when the webauthn data is invalid + error InvalidWebAuthNData(); + + /// @dev 'bytes4(keccak256("InvalidWebAuthNData()"))' + uint256 private constant _INVALID_WEBAUTHN_DATA_SELECTOR = 0x81177746; + + /// @dev the data flag mask we will use to verify the signature + /// @dev Always 0x01 for user presence flag -> https://www.w3.org/TR/webauthn-2/#concept-user-present + bytes1 private constant AUTHENTICATOR_DATA_FLAG_MASK = 0x01; + + /// @dev layout of a signature (used to extract the reauired payload from the initial calldata) + struct FclSignatureLayout { + bytes authenticatorData; + bytes clientData; + uint256 challengeOffset; + uint256[2] rs; + } + + /// @dev Format the webauthn challenge into a p256 message + /// @dev return the raw message that has been signed by the user on the p256 curve + /// @dev Logic from https://github.com/rdubois-crypto/FreshCryptoLib/blob/master/solidity/src/FCL_Webauthn.sol + /// @param _hash The hash that has been signed via WebAuthN + /// @param _signature The signature that has been provided with the userOp + /// @return p256Message The message that has been signed on the p256 curve + function _formatWebAuthNChallenge(bytes32 _hash, FclSignatureLayout calldata _signature) + internal + pure + returns (bytes32 p256Message) + { + // Extract a few calldata pointer we will use to format / verify our msg + bytes calldata authenticatorData = _signature.authenticatorData; + bytes calldata clientData = _signature.clientData; + uint256 challengeOffset = _signature.challengeOffset; + + // If the challenge offset is uint256 max, it's mean that we are in the case of a dummy sig, so we can skip the check and just return the hash + if (challengeOffset == type(uint256).max) { + return _hash; + } + + // Otherwise, perform the complete format and checks of the data + { + // Let the caller check if User Presence (0x01) or User Verification (0x04) are set + if ((authenticatorData[32] & AUTHENTICATOR_DATA_FLAG_MASK) != AUTHENTICATOR_DATA_FLAG_MASK) { + revert InvalidWebAuthNData(); + } + // Verify that clientData commits to the expected client challenge + // Use the Base64Url encoding which omits padding characters to match WebAuthn Specification + bytes memory challengeEncoded = bytes(Base64.encode(abi.encodePacked(_hash), true, true)); + + // The part that will old the challenge extracted from the clientData + bytes memory challengeExtracted = new bytes(challengeEncoded.length); + + assembly { + // Extract the challenge from the clientData + calldatacopy( + add(challengeExtracted, 32), add(clientData.offset, challengeOffset), mload(challengeExtracted) + ) + + // Check that the challenge extracted from the clientData is the same as the one provided in the userOp + if iszero(eq( + // Hash of the challenge exracted from the `clientData` + keccak256(add(challengeExtracted, 32), mload(challengeExtracted)), + // Hash of the provided challenge, encoded in Base64Url (to match the clientData encoding) + keccak256(add(challengeEncoded, 32), mload(challengeEncoded)) + )) { + mstore(0x00, _INVALID_WEBAUTHN_DATA_SELECTOR) + revert(0x1c, 0x04) + } + } + } + + // Verify the signature over sha256(authenticatorData || sha256(clientData)) + bytes memory verifyData = new bytes(authenticatorData.length + 32); + + assembly { + // Add the authenticator data at the start of the verifyData + calldatacopy(add(verifyData, 32), authenticatorData.offset, authenticatorData.length) + } + + bytes32 clientDataHashed = sha256(clientData); + assembly { + // Add the client data hash at the end of the verifyData + mstore(add(verifyData, add(authenticatorData.length, 32)), clientDataHashed) + } + + // Return the sha256 of the verifyData + return sha256(verifyData); + } + + /// @dev Proceed to the full webauth verification + /// @param _p256Verifier The p256 verifier contract + /// @param _hash The hash that has been signed via WebAuthN + /// @param _signature The signature that has been provided with the userOp + /// @param _x The X point of the public key + /// @param _y The Y point of the public key + /// @return isValid True if the signature is valid, false otherwise + function _verifyWebAuthNSignature( + address _p256Verifier, + bytes32 _hash, + bytes calldata _signature, + uint256 _x, + uint256 _y + ) internal view returns (bool isValid) { + // Extract the signature + FclSignatureLayout calldata signature; + // This code should precalculate the offsets of variables as defined in the layout + // From: https://twitter.com/k06a/status/1706934230779883656 + assembly { + signature := _signature.offset + } + + // Format the webauthn challenge into a p256 message + bytes32 challenge = _formatWebAuthNChallenge(_hash, signature); + + // Prepare the argument we will use to verify the signature + bytes memory args = abi.encode(challenge, signature.rs[0], signature.rs[1], _x, _y); + + // Send the call the the p256 verifier + (bool success, bytes memory ret) = _p256Verifier.staticcall(args); + assert(success); // never reverts, always returns 0 or 1 + + // Ensure that it has returned 1 + return abi.decode(ret, (uint256)) == 1; + } +} diff --git a/test/foundry/validator/WebAuthnFclValidator.t.sol b/test/foundry/validator/WebAuthnFclValidator.t.sol new file mode 100644 index 00000000..8cd95139 --- /dev/null +++ b/test/foundry/validator/WebAuthnFclValidator.t.sol @@ -0,0 +1,358 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {IEntryPoint} from "I4337/interfaces/IEntryPoint.sol"; +import "src/Kernel.sol"; +import "forge-std/Test.sol"; +import {ERC4337Utils} from "src/utils/ERC4337Utils.sol"; +import {KernelTestBase} from "src/utils/KernelTestBase.sol"; +import {TestExecutor} from "src/mock/TestExecutor.sol"; +import {TestValidator} from "src/mock/TestValidator.sol"; +import {WebAuthnFclVerifier} from "src/validator/webauthn/WebAuthnFclVerifier.sol"; +import {P256VerifierWrapper} from "src/utils/P256VerifierWrapper.sol"; +import {WebAuthnFclValidator} from "src/validator/webauthn/WebAuthnFclValidator.sol"; +import {FCL_ecdsa_utils} from "FreshCryptoLib/FCL_ecdsa_utils.sol"; +import {Base64Url} from "FreshCryptoLib/utils/Base64Url.sol"; +import {IKernel} from "src/interfaces/IKernel.sol"; + +using ERC4337Utils for IEntryPoint; + +contract WebAuthnFclValidatorTest is KernelTestBase { + WebAuthnFclValidator private webAuthNValidator; + WebAuthNTester private webAuthNTester; + P256VerifierWrapper private p256VerifierWrapper; + + // Curve order (number of points) + uint256 constant n = 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551; + + // The public key of the owner + uint256 x; + uint256 y; + + function setUp() public { + // Deploy a RIP-7212 compliant P256Verifier contract + p256VerifierWrapper = new P256VerifierWrapper(); + // Deploy a WebAuthnFclValidator contract using that RIP-7212 compliant P256Verifier contract + webAuthNValidator = new WebAuthnFclValidator(address(p256VerifierWrapper)); + + // Deploy a webAuthNTester that will be used to format the signature during test + webAuthNTester = new WebAuthNTester(); + + _initialize(); + (x, y) = _getPublicKey(ownerKey); + _setAddress(); + _setExecutionDetail(); + } + + function _setExecutionDetail() internal virtual override { + executionDetail.executor = address(new TestExecutor()); + executionSig = TestExecutor.doNothing.selector; + executionDetail.validator = new TestValidator(); + } + + function getValidatorSignature(UserOperation memory _op) internal view virtual override returns (bytes memory) { + bytes32 _hash = entryPoint.getUserOpHash(_op); + bytes memory signature = _generateWebAuthnSignature(ownerKey, _hash); + return abi.encodePacked(bytes4(0x00000000), signature); + } + + function getOwners() internal virtual override returns (address[] memory _owners) { + _owners = new address[](1); + _owners[0] = address(0); + return _owners; + } + + function getEnableData() internal view virtual override returns (bytes memory) { + return ""; + } + + function getInitializeData() internal view override returns (bytes memory) { + return abi.encodeWithSelector(KernelStorage.initialize.selector, webAuthNValidator, abi.encode(x, y)); + } + + function test_default_validator_enable() external override { + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(webAuthNValidator), + 0, + abi.encodeWithSelector(webAuthNValidator.enable.selector, abi.encode(x, y)), + Operation.Call + ) + ); + performUserOperationWithSig(op); + (uint256 x2, uint256 y2) = WebAuthnFclValidator(address(webAuthNValidator)).getPublicKey(address(kernel)); + _assertPublicKey(x2, y2, x, y); + } + + function test_default_validator_disable() external override { + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(webAuthNValidator), + 0, + abi.encodeWithSelector(webAuthNValidator.disable.selector, ""), + Operation.Call + ) + ); + performUserOperationWithSig(op); + (uint256 x2, uint256 y2) = WebAuthnFclValidator(address(webAuthNValidator)).getPublicKey(address(kernel)); + _assertPublicKey(x2, y2, 0, 0); + } + + function test_external_call_batch_execute_success() external override { + vm.skip(true); + } + + function test_external_call_execute_success() external override { + vm.skip(true); + } + + function test_external_call_execute_delegatecall_success() external override { + vm.skip(true); + } + + function test_external_call_execute_delegatecall_fail() external override { + vm.skip(true); + } + + function test_external_call_default() external override { + vm.skip(true); + } + + function test_external_call_execution() external override { + vm.skip(true); + } + + function test_validate_signature() external override { + bytes32 _hash = keccak256(abi.encodePacked("hello world")); + + bytes32 digest = keccak256( + abi.encodePacked( + "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), _hash + ) + ); + + bytes memory signature = signHash(digest); + + assertEq(kernel.isValidSignature(_hash, signature), Kernel.isValidSignature.selector); + } + + function test_fail_validate_wrongsignature() external override { + // Prepare the hash to sign + bytes32 _hash = keccak256(abi.encodePacked("hello world")); + bytes32 digest = keccak256( + abi.encodePacked( + "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), _hash + ) + ); + + // Sign it (via a wrong signer) + bytes memory sig = getWrongSignature(digest); + assertEq(kernel.isValidSignature(_hash, sig), bytes4(0xffffffff)); + } + + function test_fail_validate_InvalidWebAuthnData() external { + // Prepare the data to sign + bytes32 _hash = keccak256(abi.encodePacked("hello world")); + bytes32 digest = keccak256( + abi.encodePacked( + "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), _hash + ) + ); + + bytes32 _wrongHash = keccak256(abi.encodePacked("bye world")); + + // Sign it + bytes memory sig = signHash(digest); + + // Ensure it's reverting + vm.expectRevert(WebAuthnFclVerifier.InvalidWebAuthNData.selector); + kernel.isValidSignature(_wrongHash, sig); + } + + function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { + bytes32 _hash = entryPoint.getUserOpHash(op); + bytes memory signature = _generateWebAuthnSignature(ownerKey, _hash); + return abi.encodePacked(bytes4(0x00000000), signature); + } + + function getWrongSignature(UserOperation memory op) internal view override returns (bytes memory) { + bytes32 _hash = entryPoint.getUserOpHash(op); + bytes memory signature = _generateWebAuthnSignature(ownerKey + 1, _hash); + return abi.encodePacked(bytes4(0x00000000), signature); + } + + function signHash(bytes32 _hash) internal view override returns (bytes memory) { + return _generateWebAuthnSignature(ownerKey, _hash); + } + + function getWrongSignature(bytes32 _hash) internal view override returns (bytes memory) { + return _generateWebAuthnSignature(ownerKey + 1, _hash); + } + + function _assertPublicKey(uint256 actualX, uint256 actualY, uint256 expectedX, uint256 expectedY) internal { + assertEq(actualX, expectedX, "Public key X component mismatch"); + assertEq(actualY, expectedY, "Public key Y component mismatch"); + } + + /// @dev Ensure that the validation won't revert when using the dummy signature bypass (challenge offset to uint256.max) + function test_dontRevertForDummySig() public { + // Build rly dummy data for authenticator data and client data + bytes memory authenticatorData = hex"1312"; + bytes memory clientData = hex"1312"; + // Set the client challenge data offset to the max value + uint256 clientChallengeDataOffset = type(uint256).max; + + // Build an incoherent signature + uint256[2] memory rs = [type(uint256).max, type(uint256).max]; + + // Encode all of that into a signature + bytes memory signature = abi.encode(authenticatorData, clientData, clientChallengeDataOffset, rs); + + // Check the sig (and ensure we didn't revert here) + bool isValid = webAuthNTester.verifySignature(address(p256VerifierWrapper), bytes32(0), signature, x, y); + assertEq(isValid, false); + + // Ensure we can go through the validator with that signature + ValidationData validationData = webAuthNValidator.validateSignature(bytes32(0), signature); + assertEq(ValidationData.unwrap(validationData), 1); + } + + /// @dev Ensure that our flow to generate a webauthn signature is working + function test_webAuthnSignatureGeneration(bytes32 _hash, uint256 _privateKey) public { + vm.assume(_privateKey > 0); + vm.assume(_privateKey < n); + (uint256 pubX, uint256 pubY) = _getPublicKey(_privateKey); + + // Build all the data required + (bytes32 msgToSign, bytes memory authenticatorData, bytes memory clientData, uint256 clientChallengeDataOffset) + = _prepapreWebAuthnMsg(_hash); + + // Then sign them + (uint256 r, uint256 s) = _getP256Signature(_privateKey, msgToSign); + uint256[2] memory rs = [r, s]; + + // Encode all of that into a signature + bytes memory signature = abi.encode(authenticatorData, clientData, clientChallengeDataOffset, rs); + + // Ensure the signature is valid + bool isValid = webAuthNTester.verifySignature(address(p256VerifierWrapper), _hash, signature, pubX, pubY); + assertEq(isValid, true); + } + + /// @dev Ensure that our flow to generate a webauthn signature is working + function test_webAuthnSignatureGeneration_solo() public { + uint256 _privateKey = 0x1; + bytes32 _hash = keccak256(abi.encodePacked("hello world")); + (uint256 pubX, uint256 pubY) = _getPublicKey(_privateKey); + + // Build all the data required + (bytes32 msgToSign, bytes memory authenticatorData, bytes memory clientData, uint256 clientChallengeDataOffset) + = _prepapreWebAuthnMsg(_hash); + + // Then sign them + (uint256 r, uint256 s) = _getP256Signature(_privateKey, msgToSign); + uint256[2] memory rs = [r, s]; + + // Encode all of that into a signature + bytes memory signature = abi.encode(authenticatorData, clientData, clientChallengeDataOffset, rs); + + // Ensure the signature is valid + bool isValid = webAuthNTester.verifySignature(address(p256VerifierWrapper), _hash, signature, pubX, pubY); + assertEq(isValid, true); + } + + /* -------------------------------------------------------------------------- */ + /* Signature & P256 helper functions */ + /* -------------------------------------------------------------------------- */ + + /// @dev Generate a webauthn signature for the given `_hash` using the given `_privateKey` + function _generateWebAuthnSignature(uint256 _privateKey, bytes32 _hash) + internal + view + returns (bytes memory signature) + { + (bytes32 msgToSign, bytes memory authenticatorData, bytes memory clientData, uint256 clientChallengeDataOffset) + = _prepapreWebAuthnMsg(_hash); + + // Get the signature + (uint256 r, uint256 s) = _getP256Signature(_privateKey, msgToSign); + uint256[2] memory rs = [r, s]; + + // Return the signature + return abi.encode(authenticatorData, clientData, clientChallengeDataOffset, rs); + } + + /// @dev Prepare all the base data needed to perform a webauthn signature o n the given `_hash` + function _prepapreWebAuthnMsg(bytes32 _hash) + internal + view + returns ( + bytes32 msgToSign, + bytes memory authenticatorData, + bytes memory clientData, + uint256 clientChallengeDataOffset + ) + { + // Base Mapping of the message + bytes memory encodedChallenge = bytes(Base64Url.encode(abi.encodePacked(_hash))); + + // Prepare the authenticator data (from a real webauthn challenge) + authenticatorData = hex"49960de5880e8c687434170f6476605b8fe4aeb9a28632c7995cf3ba831d97630500000000"; + + // Prepare the client data (starting from a real webauthn challenge, then replacing only the bytes needed for the challenge) + bytes memory clientDataStart = hex"7b2274797065223a22776562617574686e2e676574222c226368616c6c656e6765223a22"; + bytes memory clientDataEnd = + hex"222c226f726967696e223a22687474703a2f2f6c6f63616c686f73743a33303032222c2263726f73734f726967696e223a66616c73657d"; + clientData = bytes.concat(clientDataStart, encodedChallenge, clientDataEnd); + clientChallengeDataOffset = 36; + + // Build the signature layout + WebAuthnFclVerifier.FclSignatureLayout memory sigLayout = WebAuthnFclVerifier.FclSignatureLayout({ + authenticatorData: authenticatorData, + clientData: clientData, + challengeOffset: clientChallengeDataOffset, + // R/S not needed since the formatter will only use the other data + rs: [uint256(0), uint256(0)] + }); + + // Format it + msgToSign = webAuthNTester.formatSigLayout(_hash, sigLayout); + } + + /// @dev Get a public key for a p256 user, from the given `_privateKey` + function _getPublicKey(uint256 _privateKey) internal view returns (uint256, uint256) { + return FCL_ecdsa_utils.ecdsa_derivKpub(_privateKey); + } + + /// P256 curve order n/2 for malleability check + uint256 constant P256_N_DIV_2 = 57896044605178124381348723474703786764998477612067880171211129530534256022184; + + /// @dev Generate a p256 signature, from the given `_privateKey` on the given `_hash` + function _getP256Signature(uint256 _privateKey, bytes32 _hash) internal view returns (uint256, uint256) { + // Generate the signature using the k value and the private key + (bytes32 r, bytes32 s) = vm.signP256(_privateKey, _hash); + return (uint256(r), uint256(s)); + } +} + +/// @dev simple contract to format a webauthn challenge (using to convert stuff in memory during test to calldata) +contract WebAuthNTester { + function formatSigLayout(bytes32 _hash, WebAuthnFclVerifier.FclSignatureLayout calldata signatureLayout) + public + view + returns (bytes32) + { + console.log("hash: %d", uint256(_hash)); + return WebAuthnFclVerifier._formatWebAuthNChallenge(_hash, signatureLayout); + } + + function verifySignature(address _p256Verifier, bytes32 _hash, bytes calldata _signature, uint256 _x, uint256 _y) + public + view + returns (bool) + { + return WebAuthnFclVerifier._verifyWebAuthNSignature(_p256Verifier, _hash, _signature, _x, _y); + } +} From 8b258e441bf523e768bbb42f08c40d065b19b010 Mon Sep 17 00:00:00 2001 From: taek Date: Tue, 30 Jan 2024 00:54:08 +0900 Subject: [PATCH 28/51] Feat/add validate (#73) * feat: implement validateSignature of WeightedECDSAValidator * fix: init totalWeight as 0 in validateSignature * Fix validSignature for WeightedECDSAValidator --------- Co-authored-by: adnpark Co-authored-by: Derek Chiang --- src/validator/WeightedECDSAValidator.sol | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index a3b7a537..4e30867d 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -238,7 +238,25 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { return false; } - function validateSignature(bytes32, bytes calldata) external pure returns (ValidationData) { + function validateSignature(bytes32 hash, bytes calldata signature) external view returns (ValidationData) { + WeightedECDSAValidatorStorage storage strg = weightedStorage[msg.sender]; + if (strg.threshold == 0) { + return SIG_VALIDATION_FAILED; + } + + uint256 sigCount = signature.length / 65; + if (sigCount == 0) { + return SIG_VALIDATION_FAILED; + } + uint256 totalWeight = 0; + address signer; + for (uint256 i = 0; i < sigCount; i++) { + signer = ECDSA.recover(hash, signature[i * 65:(i + 1) * 65]); + totalWeight += guardian[signer][msg.sender].weight; + if (totalWeight >= strg.threshold) { + return packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); + } + } return SIG_VALIDATION_FAILED; } } From bc0825daefedc57cd4590fd916d08ad085f23666 Mon Sep 17 00:00:00 2001 From: leekt Date: Tue, 30 Jan 2024 00:55:56 +0900 Subject: [PATCH 29/51] updated forge-std --- lib/forge-std | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/forge-std b/lib/forge-std index ae570fec..2f112697 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit ae570fec082bfe1c1f45b0acca4a2b4f84d345ce +Subproject commit 2f112697506eab12d433a65fdc31a639548fe365 From f4b7e65606c34f0a42ceab48a7e2413aacb12152 Mon Sep 17 00:00:00 2001 From: leekt Date: Tue, 30 Jan 2024 00:56:19 +0900 Subject: [PATCH 30/51] forge fmt --- script/DeployWebAuthnFclValidator.sol | 10 ++++------ src/validator/WeightedECDSAValidator.sol | 2 +- src/validator/webauthn/WebAuthnFclVerifier.sol | 14 ++++++++------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/script/DeployWebAuthnFclValidator.sol b/script/DeployWebAuthnFclValidator.sol index 235e1b5b..94437add 100644 --- a/script/DeployWebAuthnFclValidator.sol +++ b/script/DeployWebAuthnFclValidator.sol @@ -7,18 +7,16 @@ import "forge-std/Script.sol"; import "forge-std/console.sol"; contract DeployWebAuthnFclValidator is Script { - function run() public { uint256 key = vm.envUint("DEPLOYER_PRIVATE_KEY"); vm.startBroadcast(key); - P256VerifierWrapper p256VerifierWrapper = new P256VerifierWrapper{salt:0}(); + P256VerifierWrapper p256VerifierWrapper = new P256VerifierWrapper{salt: 0}(); console.log("p256 wrapper address: %s", address(p256VerifierWrapper)); - - WebAuthnFclValidator validator = new WebAuthnFclValidator{salt:0}(address(p256VerifierWrapper)); + + WebAuthnFclValidator validator = new WebAuthnFclValidator{salt: 0}(address(p256VerifierWrapper)); console.log("validator address: %s", address(validator)); - + vm.stopBroadcast(); } } - diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index 4e30867d..5c61d4a5 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -51,7 +51,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { event GuardianRemoved(address indexed guardian, address indexed kernel); function _domainNameAndVersion() internal pure override returns (string memory, string memory) { - return ("WeightedECDSAValidator", "0.0.1"); + return ("WeightedECDSAValidator", "0.0.2"); } function enable(bytes calldata _data) external payable override { diff --git a/src/validator/webauthn/WebAuthnFclVerifier.sol b/src/validator/webauthn/WebAuthnFclVerifier.sol index 1e1f3ebb..c89dc75d 100644 --- a/src/validator/webauthn/WebAuthnFclVerifier.sol +++ b/src/validator/webauthn/WebAuthnFclVerifier.sol @@ -70,12 +70,14 @@ library WebAuthnFclVerifier { ) // Check that the challenge extracted from the clientData is the same as the one provided in the userOp - if iszero(eq( - // Hash of the challenge exracted from the `clientData` - keccak256(add(challengeExtracted, 32), mload(challengeExtracted)), - // Hash of the provided challenge, encoded in Base64Url (to match the clientData encoding) - keccak256(add(challengeEncoded, 32), mload(challengeEncoded)) - )) { + if iszero( + eq( + // Hash of the challenge exracted from the `clientData` + keccak256(add(challengeExtracted, 32), mload(challengeExtracted)), + // Hash of the provided challenge, encoded in Base64Url (to match the clientData encoding) + keccak256(add(challengeEncoded, 32), mload(challengeEncoded)) + ) + ) { mstore(0x00, _INVALID_WEBAUTHN_DATA_SELECTOR) revert(0x1c, 0x04) } From ea3f566821cc28676985ce5559b8d221a02b63df Mon Sep 17 00:00:00 2001 From: taek Date: Wed, 31 Jan 2024 21:31:32 +0900 Subject: [PATCH 31/51] Feat/weighted ecdsa (#74) * updated dependencies * updates solady to latest * weighted ecdsa to valdiate the userOp for the last sig * removed toEthSignedMessage * test done --- .gitmodules | 6 +- lib/FreshCryptoLib | 2 +- lib/forge-std | 2 +- lib/solady | 2 +- src/validator/WeightedECDSAValidator.sol | 32 ++-- .../validator/WeightedECDSAValidator.t.sol | 158 ++++++++++++++++++ 6 files changed, 185 insertions(+), 17 deletions(-) create mode 100644 test/foundry/validator/WeightedECDSAValidator.t.sol diff --git a/.gitmodules b/.gitmodules index df6cfb84..ff8d8f4c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,12 +1,12 @@ [submodule "lib/forge-std"] path = lib/forge-std url = https://github.com/foundry-rs/forge-std -[submodule "lib/solady"] - path = lib/solady - url = https://github.com/vectorized/solady [submodule "lib/I4337"] path = lib/I4337 url = https://github.com/leekt/I4337 [submodule "lib/FreshCryptoLib"] path = lib/FreshCryptoLib url = https://github.com/rdubois-crypto/FreshCryptoLib +[submodule "lib/solady"] + path = lib/solady + url = https://github.com/vectorized/solady diff --git a/lib/FreshCryptoLib b/lib/FreshCryptoLib index 1a484cdf..d9bb3b0f 160000 --- a/lib/FreshCryptoLib +++ b/lib/FreshCryptoLib @@ -1 +1 @@ -Subproject commit 1a484cdfd810046203f37b3e3c794d05720fb99c +Subproject commit d9bb3b0fc6b737af2c70dab246cabbc7d05afc3c diff --git a/lib/forge-std b/lib/forge-std index 2f112697..4513bc20 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit 2f112697506eab12d433a65fdc31a639548fe365 +Subproject commit 4513bc2063f23c57bee6558799584b518d387a39 diff --git a/lib/solady b/lib/solady index cb801a60..a6a95729 160000 --- a/lib/solady +++ b/lib/solady @@ -1 +1 @@ -Subproject commit cb801a60f8319a148697b09d19b748d04e3d65c4 +Subproject commit a6a95729f947bb2a24e05e862ba9522c10453a70 diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index 5c61d4a5..bd2888bd 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -165,7 +165,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { proposal.status = ProposalStatus.Rejected; } - function validateUserOp(UserOperation calldata userOp, bytes32, uint256) + function validateUserOp(UserOperation calldata userOp, bytes32 userOpHash, uint256) external payable returns (ValidationData validationData) @@ -186,10 +186,10 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { bytes calldata sig = userOp.signature; // parse sig with 65 bytes uint256 sigCount = sig.length / 65; + require(sigCount > 0, "No sig"); address signer; VoteStorage storage vote; - for (uint256 i = 0; i < sigCount && !passed; i++) { - // last sig is for userOpHash verification + for (uint256 i = 0; i < sigCount - 1 && !passed; i++) { signer = ECDSA.recover( _hashTypedData( keccak256(abi.encode(keccak256("Approve(bytes32 callDataAndNonceHash)"), callDataAndNonceHash)) @@ -206,18 +206,28 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { passed = true; } } - if (passed) { - validationData = packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); + // userOpHash verification for the last sig + signer = ECDSA.recover(ECDSA.toEthSignedMessageHash(userOpHash), sig[sig.length - 65:]); + vote = voteStatus[callDataAndNonceHash][signer][msg.sender]; + if (vote.status == VoteStatus.NA) { + vote.status = VoteStatus.Approved; + totalWeight += guardian[signer][msg.sender].weight; + if (totalWeight >= threshold) { + passed = true; + } + } + if (passed && guardian[signer][msg.sender].weight != 0) { proposal.status = ProposalStatus.Executed; - } else { - validationData = SIG_VALIDATION_FAILED; + return packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); } } else if (proposal.status == ProposalStatus.Approved || passed) { - validationData = packValidationData(proposal.validAfter, ValidUntil.wrap(0)); - proposal.status = ProposalStatus.Executed; - } else { - return SIG_VALIDATION_FAILED; + address signer = ECDSA.recover(ECDSA.toEthSignedMessageHash(userOpHash), userOp.signature); + if (guardian[signer][msg.sender].weight != 0) { + proposal.status = ProposalStatus.Executed; + return packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); + } } + return SIG_VALIDATION_FAILED; } function getApproval(address kernel, bytes32 hash) public view returns (uint256 approvals, bool passed) { diff --git a/test/foundry/validator/WeightedECDSAValidator.t.sol b/test/foundry/validator/WeightedECDSAValidator.t.sol new file mode 100644 index 00000000..46797c4d --- /dev/null +++ b/test/foundry/validator/WeightedECDSAValidator.t.sol @@ -0,0 +1,158 @@ +pragma solidity ^0.8.0; + +import {IEntryPoint} from "I4337/interfaces/IEntryPoint.sol"; +import "src/Kernel.sol"; +import "src/validator/WeightedECDSAValidator.sol"; +// test artifacts +// test utils +import "forge-std/Test.sol"; +import {ERC4337Utils} from "src/utils/ERC4337Utils.sol"; +import {KernelTestBase} from "src/utils/KernelTestBase.sol"; +import {TestExecutor} from "src/mock/TestExecutor.sol"; +import {TestValidator} from "src/mock/TestValidator.sol"; +import {IKernel} from "src/interfaces/IKernel.sol"; + +using ERC4337Utils for IEntryPoint; + +contract KernelWeightedECDSATest is KernelTestBase { + address[] public owners; + uint256[] public ownerKeys; + uint24[] public weights; + uint24 public threshold; + uint48 public delay; + + function setUp() public virtual { + _initialize(); + defaultValidator = new WeightedECDSAValidator(); + owners = new address[](3); + ownerKeys = new uint256[](3); + (owners[0], ownerKeys[0]) = makeAddrAndKey("owner0"); + (owners[1], ownerKeys[1]) = makeAddrAndKey("owner1"); + (owners[2], ownerKeys[2]) = makeAddrAndKey("owner2"); + weights = [uint24(1), uint24(2), uint24(3)]; + threshold = 3; + delay = 0; + _setAddress(); + _setExecutionDetail(); + } + + function test_ignore() external {} + + function _setExecutionDetail() internal virtual override { + executionDetail.executor = address(new TestExecutor()); + executionSig = TestExecutor.doNothing.selector; + executionDetail.validator = new TestValidator(); + } + + function getEnableData() internal view virtual override returns (bytes memory) { + return ""; + } + + function getValidatorSignature(UserOperation memory) internal view virtual override returns (bytes memory) { + return ""; + } + + function getOwners() internal view override returns (address[] memory) { + return owners; + } + + function getInitializeData() internal view override returns (bytes memory) { + bytes memory data = abi.encode(owners, weights, threshold, delay); + return abi.encodeWithSelector(KernelStorage.initialize.selector, defaultValidator, data); + } + + function test_external_call_execute_success() external override { + vm.skip(true); + } + + function test_external_call_default() external override { + vm.skip(true); + } + + function test_external_call_execute_delegatecall_success() external override { + vm.skip(true); + } + + function test_external_call_batch_execute_success() external override { + vm.skip(true); + } + + function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { + bytes32 calldataAndNonceHash = keccak256(abi.encode(op.sender, op.callData, op.nonce)); + + bytes32 digest = keccak256( + abi.encode( + keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), + keccak256("WeightedECDSAValidator"), + keccak256("0.0.2"), + block.chainid, + address(defaultValidator) + ) + ); + + bytes32 structHash = + keccak256(abi.encode(keccak256("Approve(bytes32 callDataAndNonceHash)"), calldataAndNonceHash)); + assembly { + // Compute the digest. + mstore(0x00, 0x1901000000000000) // Store "\x19\x01". + mstore(0x1a, digest) // Store the domain separator. + mstore(0x3a, structHash) // Store the struct hash. + digest := keccak256(0x18, 0x42) + // Restore the part of the free memory slot that was overwritten. + mstore(0x3a, 0) + } + + (uint8 v0, bytes32 r0, bytes32 s0) = vm.sign(ownerKeys[0], digest); + (uint8 v1, bytes32 r1, bytes32 s1) = vm.sign(ownerKeys[1], digest); + bytes memory opSig = entryPoint.signUserOpHash(vm, ownerKeys[2], op); + return abi.encodePacked(bytes4(0x00000000), r0, s0, v0, r1, s1, v1, opSig); + } + + function getWrongSignature(UserOperation memory op) internal view override returns (bytes memory) { + return abi.encodePacked(bytes4(0x00000000), entryPoint.signUserOpHash(vm, ownerKeys[0], op)); + } + + function signHash(bytes32 hash) internal view override returns (bytes memory) { + (uint8 v0, bytes32 r0, bytes32 s0) = vm.sign(ownerKeys[0], hash); + (uint8 v1, bytes32 r1, bytes32 s1) = vm.sign(ownerKeys[1], hash); + (uint8 v2, bytes32 r2, bytes32 s2) = vm.sign(ownerKeys[2], hash); + return abi.encodePacked(r0, s0, v0, r1, s1, v1, r2, s2, v2); + } + + function getWrongSignature(bytes32 hash) internal view override returns (bytes memory) { + (uint8 v0, bytes32 r0, bytes32 s0) = vm.sign(ownerKeys[0], hash); + (uint8 v1, bytes32 r1, bytes32 s1) = vm.sign(ownerKeys[1] + 1, hash); + (uint8 v2, bytes32 r2, bytes32 s2) = vm.sign(ownerKeys[2] + 1, hash); + return abi.encodePacked(r0, s0, v0, r1, s1, v1, r2, s2, v2); + } + + function test_default_validator_enable() external override { + //UserOperation memory op = buildUserOperation( + // abi.encodeWithSelector( + // IKernel.execute.selector, + // address(defaultValidator), + // 0, + // abi.encodeWithSelector(ECDSAValidator.enable.selector, abi.encodePacked(address(0xdeadbeef))), + // Operation.Call + // ) + //); + //performUserOperationWithSig(op); + //(address owner) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); + //assertEq(owner, address(0xdeadbeef), "owner should be 0xdeadbeef"); + } + + function test_default_validator_disable() external override { + //UserOperation memory op = buildUserOperation( + // abi.encodeWithSelector( + // IKernel.execute.selector, + // address(defaultValidator), + // 0, + // abi.encodeWithSelector(ECDSAValidator.disable.selector, ""), + // Operation.Call + // ) + //); + //performUserOperationWithSig(op); + //(address owner) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); + //assertEq(owner, address(0), "owner should be 0"); + } +} From eaaac83acd3e7695c742758a54828874ec0dcdee Mon Sep 17 00:00:00 2001 From: taek Date: Thu, 1 Feb 2024 17:36:33 +0900 Subject: [PATCH 32/51] Feat/weighted ecdsa (#77) * weighted ecdsa to valdiate the userOp for the last sig * removed toEthSignedMessage * test done * allow non-userOpHash signed mode when paymaster != 0 --- src/validator/WeightedECDSAValidator.sol | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index bd2888bd..7ad208de 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -221,10 +221,14 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { return packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); } } else if (proposal.status == ProposalStatus.Approved || passed) { - address signer = ECDSA.recover(ECDSA.toEthSignedMessageHash(userOpHash), userOp.signature); - if (guardian[signer][msg.sender].weight != 0) { - proposal.status = ProposalStatus.Executed; - return packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); + if(userOp.paymasterAndData.length == 0) { + address signer = ECDSA.recover(ECDSA.toEthSignedMessageHash(userOpHash), userOp.signature); + if (guardian[signer][msg.sender].weight != 0) { + proposal.status = ProposalStatus.Executed; + return packValidationData(proposal.validAfter, ValidUntil.wrap(0)); + } + } else { + return packValidationData(proposal.validAfter, ValidUntil.wrap(0)); } } return SIG_VALIDATION_FAILED; From 58f065bd5f6d0bb91992e8912e35d85202371272 Mon Sep 17 00:00:00 2001 From: taek Date: Mon, 5 Feb 2024 22:44:00 +0900 Subject: [PATCH 33/51] fixed Console.sol (#79) --- src/utils/KernelTestBase.sol | 2 +- src/validator/WeightedECDSAValidator.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils/KernelTestBase.sol b/src/utils/KernelTestBase.sol index 1a669ced..b7357b2b 100644 --- a/src/utils/KernelTestBase.sol +++ b/src/utils/KernelTestBase.sol @@ -18,7 +18,7 @@ import {KERNEL_VERSION, KERNEL_NAME} from "../common/Constants.sol"; import {ERC4337Utils} from "./ERC4337Utils.sol"; import {Test} from "forge-std/Test.sol"; -import {console} from "forge-std/Console.sol"; +import {console} from "forge-std/console.sol"; import {TestValidator} from "../mock/TestValidator.sol"; import {TestExecutor} from "../mock/TestExecutor.sol"; import {TestERC721} from "../mock/TestERC721.sol"; diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index 7ad208de..c3a0552e 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -221,7 +221,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { return packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); } } else if (proposal.status == ProposalStatus.Approved || passed) { - if(userOp.paymasterAndData.length == 0) { + if (userOp.paymasterAndData.length == 0) { address signer = ECDSA.recover(ECDSA.toEthSignedMessageHash(userOpHash), userOp.signature); if (guardian[signer][msg.sender].weight != 0) { proposal.status = ProposalStatus.Executed; From 7302704b748bb7c9791a13a335e04832c51b6569 Mon Sep 17 00:00:00 2001 From: taek Date: Tue, 6 Feb 2024 16:02:57 +0900 Subject: [PATCH 34/51] audit fixes (#80) * audit fixes * fix: update prevSigner to signer on validateSignature and added invariant testing for this --- src/validator/WeightedECDSAValidator.sol | 64 ++++++++++--------- .../validator/WeightedECDSAValidator.t.sol | 43 ++++++++----- 2 files changed, 62 insertions(+), 45 deletions(-) diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index c3a0552e..345eed2c 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -51,34 +51,45 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { event GuardianRemoved(address indexed guardian, address indexed kernel); function _domainNameAndVersion() internal pure override returns (string memory, string memory) { - return ("WeightedECDSAValidator", "0.0.2"); + return ("WeightedECDSAValidator", "0.0.3"); } - function enable(bytes calldata _data) external payable override { - (address[] memory _guardians, uint24[] memory _weights, uint24 _threshold, uint48 _delay) = - abi.decode(_data, (address[], uint24[], uint24, uint48)); + function _addGuardians(address[] memory _guardians, uint24[] memory _weights, address _kernel) internal { + uint24 totalWeight = weightedStorage[_kernel].totalWeight; require(_guardians.length == _weights.length, "Length mismatch"); - require(weightedStorage[msg.sender].totalWeight == 0, "Already enabled"); - weightedStorage[msg.sender].firstGuardian = msg.sender; + uint160 prevGuardian = uint160(weightedStorage[_kernel].firstGuardian); for (uint256 i = 0; i < _guardians.length; i++) { - require(_guardians[i] != msg.sender, "Guardian cannot be self"); + require(_guardians[i] != _kernel, "Guardian cannot be self"); require(_guardians[i] != address(0), "Guardian cannot be 0"); require(_weights[i] != 0, "Weight cannot be 0"); - require(guardian[_guardians[i]][msg.sender].weight == 0, "Guardian already enabled"); - guardian[_guardians[i]][msg.sender] = - GuardianStorage({weight: _weights[i], nextGuardian: weightedStorage[msg.sender].firstGuardian}); - weightedStorage[msg.sender].firstGuardian = _guardians[i]; - weightedStorage[msg.sender].totalWeight += _weights[i]; - emit GuardianAdded(_guardians[i], msg.sender, _weights[i]); + require(guardian[_guardians[i]][_kernel].weight == 0, "Guardian already enabled"); + require(uint160(_guardians[i]) < prevGuardian, "Guardians not sorted"); + guardian[_guardians[i]][_kernel] = + GuardianStorage({weight: _weights[i], nextGuardian: weightedStorage[_kernel].firstGuardian}); + weightedStorage[_kernel].firstGuardian = _guardians[i]; + totalWeight += _weights[i]; + prevGuardian = uint160(_guardians[i]); + emit GuardianAdded(_guardians[i], _kernel, _weights[i]); } + weightedStorage[_kernel].totalWeight = totalWeight; + } + + function enable(bytes calldata _data) external payable override { + (address[] memory _guardians, uint24[] memory _weights, uint24 _threshold, uint48 _delay) = + abi.decode(_data, (address[], uint24[], uint24, uint48)); + require(_guardians.length == _weights.length, "Length mismatch"); + require(weightedStorage[msg.sender].totalWeight == 0, "Already enabled"); + weightedStorage[msg.sender].firstGuardian = address(uint160(type(uint160).max)); + _addGuardians(_guardians, _weights, msg.sender); weightedStorage[msg.sender].delay = _delay; weightedStorage[msg.sender].threshold = _threshold; + require(_threshold <= weightedStorage[msg.sender].totalWeight, "Threshold too high"); } function disable(bytes calldata) external payable override { require(weightedStorage[msg.sender].totalWeight != 0, "Not enabled"); address currentGuardian = weightedStorage[msg.sender].firstGuardian; - while (currentGuardian != msg.sender) { + while (currentGuardian != address(uint160(type(uint160).max))) { address nextGuardian = guardian[currentGuardian][msg.sender].nextGuardian; emit GuardianRemoved(currentGuardian, msg.sender); delete guardian[currentGuardian][msg.sender]; @@ -101,18 +112,8 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { } delete weightedStorage[msg.sender]; require(_guardians.length == _weights.length, "Length mismatch"); - weightedStorage[msg.sender].firstGuardian = msg.sender; - for (uint256 i = 0; i < _guardians.length; i++) { - require(_guardians[i] != msg.sender, "Guardian cannot be self"); - require(_guardians[i] != address(0), "Guardian cannot be 0"); - require(_weights[i] != 0, "Weight cannot be 0"); - require(guardian[_guardians[i]][msg.sender].weight == 0, "Guardian already enabled"); - guardian[_guardians[i]][msg.sender] = - GuardianStorage({weight: _weights[i], nextGuardian: weightedStorage[msg.sender].firstGuardian}); - weightedStorage[msg.sender].firstGuardian = _guardians[i]; - weightedStorage[msg.sender].totalWeight += _weights[i]; - emit GuardianAdded(_guardians[i], msg.sender, _weights[i]); - } + weightedStorage[msg.sender].firstGuardian = _guardians[0]; + _addGuardians(_guardians, _weights, msg.sender); weightedStorage[msg.sender].delay = _delay; weightedStorage[msg.sender].threshold = _threshold; } @@ -221,13 +222,14 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { return packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); } } else if (proposal.status == ProposalStatus.Approved || passed) { - if (userOp.paymasterAndData.length == 0) { + if (userOp.paymasterAndData.length == 0 || address(bytes20(userOp.paymasterAndData[0:20])) == address(0)) { address signer = ECDSA.recover(ECDSA.toEthSignedMessageHash(userOpHash), userOp.signature); if (guardian[signer][msg.sender].weight != 0) { proposal.status = ProposalStatus.Executed; return packValidationData(proposal.validAfter, ValidUntil.wrap(0)); } } else { + proposal.status = ProposalStatus.Executed; return packValidationData(proposal.validAfter, ValidUntil.wrap(0)); } } @@ -263,13 +265,17 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { return SIG_VALIDATION_FAILED; } uint256 totalWeight = 0; - address signer; + address prevSigner = address(uint160(type(uint160).max)); for (uint256 i = 0; i < sigCount; i++) { - signer = ECDSA.recover(hash, signature[i * 65:(i + 1) * 65]); + address signer = ECDSA.recover(hash, signature[i * 65:(i + 1) * 65]); totalWeight += guardian[signer][msg.sender].weight; if (totalWeight >= strg.threshold) { return packValidationData(ValidAfter.wrap(0), ValidUntil.wrap(0)); } + if (signer >= prevSigner) { + return SIG_VALIDATION_FAILED; + } + prevSigner = signer; } return SIG_VALIDATION_FAILED; } diff --git a/test/foundry/validator/WeightedECDSAValidator.t.sol b/test/foundry/validator/WeightedECDSAValidator.t.sol index 46797c4d..b6e96853 100644 --- a/test/foundry/validator/WeightedECDSAValidator.t.sol +++ b/test/foundry/validator/WeightedECDSAValidator.t.sol @@ -29,6 +29,19 @@ contract KernelWeightedECDSATest is KernelTestBase { (owners[0], ownerKeys[0]) = makeAddrAndKey("owner0"); (owners[1], ownerKeys[1]) = makeAddrAndKey("owner1"); (owners[2], ownerKeys[2]) = makeAddrAndKey("owner2"); + // sort owners and keys from largest to smallest owner address + for (uint256 i = 0; i < owners.length; i++) { + for (uint256 j = i + 1; j < owners.length; j++) { + if (owners[i] < owners[j]) { + address tempAddr = owners[i]; + owners[i] = owners[j]; + owners[j] = tempAddr; + uint256 tempKey = ownerKeys[i]; + ownerKeys[i] = ownerKeys[j]; + ownerKeys[j] = tempKey; + } + } + } weights = [uint24(1), uint24(2), uint24(3)]; threshold = 3; delay = 0; @@ -84,7 +97,7 @@ contract KernelWeightedECDSATest is KernelTestBase { abi.encode( keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"), keccak256("WeightedECDSAValidator"), - keccak256("0.0.2"), + keccak256("0.0.3"), block.chainid, address(defaultValidator) ) @@ -120,9 +133,9 @@ contract KernelWeightedECDSATest is KernelTestBase { } function getWrongSignature(bytes32 hash) internal view override returns (bytes memory) { - (uint8 v0, bytes32 r0, bytes32 s0) = vm.sign(ownerKeys[0], hash); - (uint8 v1, bytes32 r1, bytes32 s1) = vm.sign(ownerKeys[1] + 1, hash); - (uint8 v2, bytes32 r2, bytes32 s2) = vm.sign(ownerKeys[2] + 1, hash); + (uint8 v0, bytes32 r0, bytes32 s0) = vm.sign(ownerKeys[1], hash); + (uint8 v1, bytes32 r1, bytes32 s1) = vm.sign(ownerKeys[0], hash); + (uint8 v2, bytes32 r2, bytes32 s2) = vm.sign(ownerKeys[2], hash); return abi.encodePacked(r0, s0, v0, r1, s1, v1, r2, s2, v2); } @@ -142,17 +155,15 @@ contract KernelWeightedECDSATest is KernelTestBase { } function test_default_validator_disable() external override { - //UserOperation memory op = buildUserOperation( - // abi.encodeWithSelector( - // IKernel.execute.selector, - // address(defaultValidator), - // 0, - // abi.encodeWithSelector(ECDSAValidator.disable.selector, ""), - // Operation.Call - // ) - //); - //performUserOperationWithSig(op); - //(address owner) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); - //assertEq(owner, address(0), "owner should be 0"); + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(defaultValidator), + 0, + abi.encodeWithSelector(WeightedECDSAValidator.disable.selector, ""), + Operation.Call + ) + ); + performUserOperationWithSig(op); } } From a84c61a02cd899b738f530ee001edd29a9161607 Mon Sep 17 00:00:00 2001 From: Derek Chiang Date: Tue, 6 Feb 2024 03:07:00 -0500 Subject: [PATCH 35/51] Upload recovery v2 audit --- audits/kalos_recovery_v2.pdf | Bin 0 -> 1636949 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 audits/kalos_recovery_v2.pdf diff --git a/audits/kalos_recovery_v2.pdf b/audits/kalos_recovery_v2.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5a57952e7be5007aab3ed03ffd91dd4786b1501a GIT binary patch literal 1636949 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 z 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

|Z~h-5FBjnC^OVilnfmW}&j$;E2gO<(E1 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�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

E1ZZcb4vDxWC<&&)G$4}0VwWYfW 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

  • ROKHA<;9q5NMHYoq}^e& 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

    %qRq7Ls_z3i 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 y8L>)39HDE-e&*W&Q^{#IuH3ra61~KA<~rIfi`& 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

    )Vs=~u%sE#Fu2v< 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

    kvelyV55n9U?aB`snVXo7 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 z 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𝔚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 Jlu?r<`d=jSegFUf literal 0 HcmV?d00001 From 106ba81eef821c9648b27392ecf6515905217bbf Mon Sep 17 00:00:00 2001 From: Derek Chiang Date: Tue, 6 Feb 2024 03:09:18 -0500 Subject: [PATCH 36/51] Update audit report --- audits/kalos_recovery_v2.pdf | Bin 1636949 -> 1662142 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/audits/kalos_recovery_v2.pdf b/audits/kalos_recovery_v2.pdf index 5a57952e7be5007aab3ed03ffd91dd4786b1501a..d00c0642cd9a098dacfd232b347fb344df9afe6e 100644 GIT binary patch delta 114394 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
    H#4UU#m4hEG-jTmj?c_b6%s!=(Gn zmXJx$MxjQfM#@HK+z!qF;L^>6$r3_3r2A=q7ROcKk^#;nc>pPZKERwjpFE#Lf~xkV z6N53O56?^b#zZn!a$w>y+dhP~0ovfN0LQjlg0eY=qr=Q7TkiuYXVnI!K4UW*UM5Ry zw5FE7D_GXdg9}}y8oobB89Jl3`;kg+(>*qtr$%UB2yKs%8j-}GA3>&}~ubP)NkCo07_^KZ)mA5*6`4Sx+jjVp~ZJ@O^ zSLE04-;5{TY?IhIve&L2st$3vpD$g0t)9**cX8oF@O<=IudX{>4=EVWnPqa`*ZjqJ zOL6ggOA>aRrsNvw1_|5b)k%g)M59Zi0v1q3(m;Bj^aQX^;YQ}hy#blLG$}SoGb!9S z0Z!iD+yChy@#sKwew2gpa3LmOsvSRLH`VIJ`WU@&oJCyDdZk|MyysQ{@TARkA5P4+T_ zC1Cqz1@RBf!-<{TeIn(**QUeIC&V>i7x6xBN+0<+Xl`u2DdkSF627>cd!-j!ZtRO& z32>06^i{O!vU*kat%6CZOh0dR>Ngs;} zxFef}z{UD<_dZ>hn4d^?S4uRN&R+oRDBY$4Olth3sh4+4_^2;mbL4_~<+%QnT_@7r zD#HRmU>ozCjrQ^wDZH4SlDaQQ@e9~`Ug1py*3zWf%uQr%-d^GXXbQ1vy-#M@%a?GbGVgWYiYdXSultx-|;wZjs` z&CNC*Nj28(v@!z#f8mWynToqjwpQ9@)Qc~L4VnGv<)^0R&NH?uuTv22*h|${KKdP@ zU{Jo>+sk0_Vidbt-1(KhPC-Gxv=Hkr-SfeyXj4+}`fIZb@gq;hv8gRT{Xs4?YkGK8SNbB?1OkboXT~#1Fbo|?%rNk9i$MZT$VL_(3og% zUqo++sI~f;UH@Q*Q`ood<4vani_MevsVt>dS$??n5SNUp!+X1oS5Ws1;`S zg%T=pT_)7CfIKro!rQB&U=%s=pK@;Fcq_jn`!nSxh;LF}xR34mXnAxI8@V&7F*S^7 zm^4)Be-7KL9V!g<7*bS#U8_dp``_Y0mfs{Xf?^at7Ir2>o;liAoR_OfK6Twjsu$j- z%8}UTPltVS3bk@wE-2e+WzB0rKmT=`G?$KbDY(GU`duSun)=Zv(IGkeOlSFlIZu1M z^TpiWSj`tjmo2a{wTVfSh*g>pf?D;*F+`?ltT&AuQ+{*cY~PyIui&9{D(_as24my) zfl6Z9v{f1vOhrp}#XCa0c|EkF+D#?DJOzdyKicW94xPjr8F4t<^BWGXxa`0MFeZW# zGGw~B;q&DLG@a{+2I^kNsznLwz0u|BXxG5zs)<8N$~S?_`i7SkNA6xLC{i4OwO4X> zp$L&k)8T>Z8k=~hJ|n?Ad{-YK<(UUQq#T;}3Em54gX4$$92eC-kK79mGU5h-b_cIx z-=B~*EMOxFk~j8mnOw2Rb>>rG@;{P0p?gS@&umD5mECAugfx`rn%|YSwU6|o znEl@iDOM*zUDfMh62WZN+1k?DwFwFB9-{o?3z<^_B`i`H*A<<^`D_+R84_7U#h9#Z z&*uaq#b!mS-mBs%>AXGp4?HpvwBhUf^La9$$DP>Ks_}cW!?JJO7Eela80D#I89Rk~ zuJN?v{FtN;tnzY9rTF=k`S5(1>HaxQ)IheN~=2$)!plO<^cE*xn=}3gI zfeag4dBbMkcmZc+nJTS$s?4+4xu`FC&N*^B`OAm)?HJB&e*T%&*c)0IW=;DxGwXTR zfHqih96L;zUM-;{`!=S@+JQlFiKHHhV$FHIVI>s4D&JuRF1gsndPU8Y5D2~{_k09f8h|-y{r=Oo3Dn*U@xPAJqlE@nNMc8(DutlFH(wP=i3;RD%^uM5 zy1Nh}655(vnoKE)8Xk7;ev=SadkpEcr-$zqJTJ3U*P9scA7vwF?BV5-^)Xu$7yllF z_1S(rue^=VtBB+tQ)~TreKW#0U>ZYU)!<1x@Gw)z?NqGq7}B&zLW&618#HKxQ0!ox3qzzE~c} zN@AR{#EccQ|9HaKC2F5z_|Y*>O8Ct@3VyTkCw3dRKHFG~L5yN%nTp`w9Sry)KAIHi zsi<}C)tp2Pn6bqbF4N9XuYFgY&D9YX)MjMlNGSwKz5;^Y*S+jnr94*mcCvEh^YC&J z#!o24YI^*jihyJX#&HQ$Zgr*FNMfDqId+r2LR>zi)#WCbXN&F6EDia(P3*Bw$OcKh zzrQ~Gsgk*OfLzk^*=#(uk>>b)US0|YzM?>A(*>7(=9(Nn^&qbX-Hc0sTeE5lnxskO((zYEh_hBP8zUjwR zHSO))$E70&R_WMd>(25%MCT*g@Mv}R6Kk`+!k>%$I;3@e!unc>oH^wV?0@;6^HKD0a^ri|OPiun3*V4ipm+JL zw>Rt_d@eE#0)|isOH}&%r(vsVBrN62YN!PIw-(5$;Gnxx87dF>t-TA98HV+BDjgi6 z9v&@3>4kowA7q37=%HxKSS}izEbyMIRVbAA)*4N#E9lSpA+;m#l3k?!sLw3C9_@wR z)vx$QwNh3EYZqqH$E<$~@P8E?Bb96!At1JGdo5@#%GgWQ?yYFb8?>88=6C8*c6BE16*6;4z29F+r(qe4+*vK^J-FgxN5 zsgnJz2WlRM!RyrsTPKYc_d2Y4|J2CzxQTfJXgU2=w+clGh$0bk;W&8+I8+c4n5*n4 z$#oBv?v)jeCL~?4sKCZjd8^KfCNJa1y)QgeHFzaK?n-h?_=!{M#k9iRH@hqIZhco) zHXD=V<=4LYTf4o2Bb#u7t@BQS%`X1;X@B$dd`#ucsK%(cgEo?E2;wORKC}9@eX*_r zn4Wll!c9i6l_!*$V&y9&TaBMA` zV#7)`X-)=scuWg+<{r8~jFf*GKKHSBO921q;S6ePDZ4)BaK<3;xo(_SsYyz4h6?{h zk_K3CT+i#ew`B=;$|m=$D(;pTK9+fuGD@O;NA)$S#hy-(+k*V(r}U=YyG=I1*)tjW zKH1!o!&J*-Wp+L{vCpWMSIv0@tCb~3hb7wwi`^Z*F$=BZ0HTH&2<*Fx-uwVsdsi&q zl|1aVcQ2%2oid-5?KsOyWhKN(G~7z0ZkTIN|)I&kIP!U)T_&VpN4IG9nk>;HEL8 zP>1n1c5~uYpW?j8{fV;W;x+>~hc1GT>zntvls5SFpInbN=ffo=GsJ$pZ~uL#xN9xq z>xuD2@1dN=EJMA=G%d5eWDOLD$>vi7cjBKmM7=Y%;N2bW$qbzvh`KVEE<=bvIJgCJ zt_0HN!2L{Uv`w+Zuc;O675(k;Lp3g+6*|`D1hzFOe6qL6+L>!Cjf8>%Co>y2o_1EN zvQ*iI7Dp{w87wuW%q@K>x+f3)Iq|CKHFdOKnz~jqULB5Uu525vBV|@*uWxzr!D4Cw zV=*0+8$@j-FK?-jAj4-rp#CrObm{>dempUv`|r+l?y;%HL*%pN#cVgKXX(XF3d6NolLz|FxBfQ znDzcD-ht)C28G4{en{GCA<^kVz0HrczVNas#QH`$}q|l{W9;q zt^qaTxv^heGbrXpO}{*%l3^?Y-4g!2ABau?4IRvctU~&3dMPnHe}=Nv{yo`#ow@X! zP2jh1RjV<7hw<_cjkJt%5bMQrs!qp0f{I&()bx4%mez9}Zhiqhh^2BUgsG_x;U&dePf0 zOTGZxi%f`~>U+%m*xjtVV7ya(0%o@W)L`<6OQ1{+zf)}a;rz4JSu}VwuV!)ap6j5< zjpKD6R#DZ96tDaD?qbr1c)NEyG(X$!*=n$Pu8oYtZ6b^t|AGX(R37iy8TTc+Jen1!~*oz1>5cymDfD=$2qP(ERYh zlMU$GmO?$BWsY>ym|EJe-l!5xe8kol1|^Akafool*z$C=X^YJ4vPH7=@DI|5ziSha zR2V{l|5xF*jFhPtrb$cB6_w`A4eeIKO_{YGU}Ykk3NTTbt(t=66B+vH;Eq~Gein44 zm-)&2%nMZ>Ag~U=Fs4i#@zyJs{b`#^$~#?5@dtiJhbEcFv22-+p>pO-DFi+qHG6r+ zjAtCxWh*D218?ywnJiVYJzbYbMfA&9t!(7CCcJwbpK8Br2FiBO)AqYn`XaWV{*CqS zORVL}Q^SPuvYPPZz(njd{pTQQzRovQb5Z5WUz0|l-wbxf{mNP#q9UTUX^Us^iO*j* z(QMlcH(k=Sexk1^8(X9;l*lPN8wg%i_=>(GU+w&P!hYut>+3;=cVk8R4i;wQWL|p?)Sd z?UQw7!7^=4@Y4=jf_98Yeh9hh^RI&#@-bMS@^KsU?LDSS)8VuS+xpg9pB^1;#}11Z zhJ7+gNnTsL5({kSSKMdY5ns8Gc2i6*PY+BWe!|o)XqeMq$`rP_J>XOq7aq29K`um+ zZ-mGE@~C2|UOA_(aYc^0XuKm797-IZ5fis{%S_f3D^0#=epB}7WB2bSW=N?wOGfBp zjUJEf!y>O}4yg=d4))sZ{Z1D_^Dk087|Fqh=PuU9*SSfNip^1f4?oE9WiYKmMZp6sycU znQWk2pW37?xa?S-N0Awl_5Pf578}OHVO}!HTleL-0BbmbhB`v<9L1iG1e0=%Ei~pb ziyM?JbAph41N{8OW&GPV8|o)ybPD1JDtuBu5&Nm>?;62`Bxf6Tj!uH_DROd+Y0l6;qU z0@qIL?v#!A)x0>j<5iVq5e~z7L8C$gugbHaTg#hB4_qQNFZ4Y^vI2fLe3SAm2dP)e+jj>czL?P439mO>it za>m?`zrkrHD76_AoDAOYyI77iqFJtT9()S`1!V?(v&(VHQ;!bsNaQ1-F%|GlLb5 zi%Q#K3;5TMu0JT2eB+I8z+!dRFYCDDUs&jFHHh#UY-w^azo$Y+4SAZ`#MBJ2%(3>o zI9e>vG153`EW}*c-+#lZdu@oNn3i9okw^T?w76O8FGEMQ*z~faX*RRDiHmg8LLx&d z-`P56F(eP@p2%kQwv>x>ECFZ}JEu96!?Rl{$v?ghd!}iFZw z1Nwxa<09tZ*6?4~GFYEsIR~$20Nx09%9G?Bt=^7Q+pijYBjWljR>4&d^H8b%dm){T z#v6k6dNE%SJj$dt^cKp9(e!HqX_J2c+|`Tse%Vd#f24o4A!NMu?qJxnrmD-p`89!6 zaR0TMq1l>iKIWm8r{8&ncP42@MTj;}NNecQPUeG^w$usTvF4v-Kd_})RB9Z3HUU0< z2MZ;8YbS+Qfm_dH=tj&A_#XkccKhNDg8S5K+S2y0Ufm^6*k3qcSQZE3>q|c89#&Iv zD@B{dH=o4c3iJ|emUuL5-K~2WY;>*6n0aAZefL?OgLqk@^Dmbth&3p34doXB*OVI%nc?*jwPV)eh}IaN zwVt|lzZ9^zZB99d7{8=Y;(480p=$cPMMM?kdp>8w5!i;VA#VME%wkJkMTgXJ*BAL| ztVXXC4Bd=}c04?KEKqb)vXyyr^Vx#})g^h^kG<3CTZBRj;Unxutc*r9Dyqsq_IKob z0#w{GAoW8X1?R^#^%U~HdzIqIHC3N6==X$}f!+!tc(jfvsW98sOH+3zeNJ3Mh)>fQ@D_$BA^PBzfZx{46E`N+>q z(nz-Rm;Zb$;*r1UQKhQwS~a4Z;Bm2$7X z`;sZhc)6~FL4Ejo{8nS9o^b7jVD}pli64k>r1~kC>F_k$f&Zn$2XihN;Otf|Bw71i z)o!_2y#+WBB6*3&tE^^foS>>%DyhbIcxBt3d#Qob(NjV~t7`?|WJs$r;3VZr$O(_M zDUOWyYfjet@CM7aI|+;ydfdf5EMQXbF^-x#C!#GW)Hk*6{o~?d+n9<{E6NzTv=$4v z#NMn-fALd=jOggVuHzC=`0uDs=_RofVO_g-Fur5udu|*JtCL(?m8_dP34SN6Q5SpV zBtD#oc?2KI>u6)WxlIc#0CMxdWy{LGFSnJxYGABjAFZ%k?UU~`!BwfYm6U4>t+356 z`*bOx?1N2%G~OMW`v8F^1sV-xUxF9oMi}DHz8=PxU-4PT)zW zRnf|o+5kEwR%mgHRLGGcm6b+yzFtujWTj2X;RN{oQ{hkAFNdKYlAqMi88Q1r=RK^F zsmR-Xn{*$0H~(8th{89WaOKIhU<`f#;UzbXsp}0N`R#TyMr^#hdv2#!c(YnjwN>}{ z?y51E&5z{EdI19uG`l@X+|v<(kGxlAJV$F8IZ)fXE0K1WS2eo%e% zi{ghtzF_VZjwcL?&Js$G>poIELR3_sOPKVH)<^Y12?i*J58nq0^yH13DyML) zrm7RYiRNlGN_X21vS#QJbfya|Gq61Z=EV=vlV{wn#^H*Hvct-{?H#kN-adV5*Jzt~ z>XG*T95T$2=ZUnACTG2a!L((;94`~9ZwUAre(&COC~xVp3>q%cHil7Xr`oewOjHp? zmI{2qe(JJqTG_#1n{Tzy2W$gW>_l5s@9B{-O0iehHVtOEsdwnv_xPD=Ld#x%zl4DD z`&&-5Ug5_?2WIlQHXR9uCU@KpO4;JVU!|sZRvz1Y;uS5}WJwJ(lnB$*2dvii@x0Ly z5Z>qR7hDHhKDr`?T2XS?*m-m5;7;f-X-B(X*ga(PPx~!!_)2+?*V3B8t5yFE-5*WM z9fwyJzwF6uugCPv%3}RS;@+zqKYyq!CAoe9;i12_lzgavH(c^r>Zbqo_Q|G4-SnKT zg0Mkj=dJ0@($eG?Y6hJ{c>{A%@d1f62~k~-e&L0p3uw+6=Isu)TdUg7-7)7BkL}6} z|Am##tQSV|Z_jUg4baC9JDRa_ zm6xUImR`?dShq-qW0=YUB^$uRhY{uD<{Po^6mN(!$JYs74m(n{AS5SiI}l%EZ>Qb; z756wRC`jcbZI8a_%VyhJEL^+u=Z{BZUDGyqe(YA3woPb8#FlFQ>aJ>28b#D&zWhLa+mYz1$hCfJQIiCVG^TnR?gL04Tm|VjCB1jt=?@M z#LhjRsi<2v(7hSfvddBSN}3=I>HaV=Q?ZdA_N@3j$kxt+)@Dk1!R2~;q_#0Z+v4U4 z>}j}QKD}Q?m8(?O#n?AlPU-4S()RiBV{wC#55uGN-~RLn-e(AlM}H3xK^=Ta2JTNO za0k5K5;i_- z>~r6*pE#*@d^7hHSB`rNm5}17w=zx&IPgY7^RbHdPI~rl!g+}gG-hAW5){$wO)G)S&=}nj1)!Lv34SrX!ocxZtK%l^E6SWEHRx?2&d*_NFXSY!VxFLDI>W#?17@G~EwKqgmV$f3%+ zL)p3-?g#tdcosOG5xl+AgjIWNqxiWtI;gva48D>JJ*z`@cs6_fp!R1^^8HQwTk-LW zWGxqJW>Od=dCG)cESY_Yy^`r)(@om)@_#1K{tP*RV9CXT?81M9sF&Gm0kGsI6DlDx zC=i&uzD%4qYqo4xjEtib&}I#ICZ_IT)!f0SY$Rgy;9yNJo9>7Y0~2Z1M}3>C#Z^CXwL3*FKu@`?Z5er@sbOy|D@OA=7wh@d{P||ZVnmC1CDMUy{q<V?md}`CcW5o>NjEc*Bv1U{FW^ljouA9J$<+2h#ampFh$dK8rv{KN}3Wb z*q59T3-7^2zCWcE_Zr%eQDsgiN2D*vM1~xagI3uCC85NrG;K2)DP32+ z`;IoQwsx06FxVgL|6=LmZf8#eB;xR7i8c1C5( z3j_xeXW0;EF(ep-JcEG{L@i5e?2n21kjP}Ob@ntY5(YvN$K+1w1A`&(vumMH5FCC= z4hTk};9%fs3<4xh-JQk2AQaWj4~RtkwHOQpo;HRk2L?g^#=ywa zB>a(sg3lOD#9;q$1p9}nnyp#CyY z9s+~>wFv}{_ zh64Y~OkxcGlZr%wi26>G0fHfkg#Seb67-jW#Hq`_Fc=VsLY;90Mil#}F@JIh0s}(N zSp8>X6znXKFbMKYz7yBN5PxCBQh}Wg3{f8({8z9LC?pnfmTDvjaTbFDK}hInPyQ%` z0nZo+1ws&@(;EY!Kp6ZljF`s%2?_SU^#4(aK%Ai;4nrbP|D=n^78Hzv{e?k5(7!Mk zu>+mXE#e*sApBIV5cwxIAlRSt=${1yg(0ASVF&~aeA>G|3L$4g2ZSOaptCIlii82r zVlW^K1jqiZ5Dq$JArJ@y5)=5e91%ky{=)tg_-VHO7>GPuxiAPEi26@KV*i`{FbD$m zU+{kz3<-pvjxkXo5(Gb;3&aRRh$Nn75C(@4bMp*FOv^J>g8icq3Omyth#0YU&Mqd} zccv7Hew^)TfAk^Fh6D~Gl6poT97J>uggw0p9D)R$DHEbX6tOp)kt3%1*?7WWqOXF#K%Og` zpAIJwODtGo<(*pm$HKD>1c(5Gfu}kb@$e?@iuk+4AV}zGM~Kt|L1zziA_j&6FaPTd z{l6YSWcqY{5;s8+EA*^^C?M=iNd6qtkTc2k2ZR2Vz$iHI|5(NT`x-**DF2_u!~mSm zV4^|<2z)w`h*ub5_MfKp4+cMLH1VqQue;Je`V6uDflvhSbkYzPBOw1io&I+?{lQ@1 zGu@1cA>n7J{^Q%(gd=7@6m-^T;*AJQbnajL|L-yeLi~N9A|3~4D*_G%LC&6(L=1MO zFMx;`3UStG;vME6m#lx?VTksDi4i@Wgm5Uash_143L*C8vvN?#nM)Q3PCOLPv~MDY z1ftHag^42}|Lo}=?pBWX?A-r6bV0|_@6Y8HP9vr5>gsWsc;qLG{bJ{(`%}Is8bQHZ I8cH<(4_eQW^8f$< delta 111844 zcmce-b8uzR)9)SIwv$OFwr$(CZJyY+HOa)bGqG*k=EQI2_dNC7d+V+H@2%Q(YSlTt zx_j;2pYJ-=d++Wx)5Qnl_+VhBfRK<7;E)iIrV!A|VBnV)rVvnK5U`XqQI9l3Y8cco zt1!?Ot1z%*5C97UA0Lski<7CLEsRHYm)3eLSsAi#P0fh8bicp`&}co&CU@6#vv&RV z@>U8>4Qzbj-|Ja{Hc1x@+#psguK27$_>l3u71eItObA+fRBHZZ4hJ1w zxP}+U*swDu+^mLM0@6{v;pt45FeaS$00wW#YIuYW9Vhts0op8rMh4lYjF=2-%qFUJ zJp*;D5P}g3>RLaQBhyF~Ucac>C_;UN!02&cKq#PBY^iF-J7zE)L|J^QyyJ}0TVumZ z1z!HfDA-7ctj12ZW~~@2Q80z4nf~2jSt7KFs@Ak$d0b*oYDDxDk7N;s1SaAXL0%W> z$F|<^Qra4H7@yDcNI0X9y<7m`~D1}f-kUL>- zt9ROz{0YM`-Q>K8=>{4j0DZo_+25f#7e z-gWX#dtzaOVM9E=s1Zp&M*YD$*Y$ZI!=v!+f41rtP+d5`tmS##O1kd(s`@Q7($WG* zx2GSaoz~x-2}gFPFLcOcHT@!ivC{L(q$q`UWoC?5MXd|FUrO>ryE|Lf#WoZ)>MSvx zXx%MGtk9brVYw|RBsp#eLp*`6uXoZyka}vr`%;I7^Nxo8QE|?Q=7w?1)0WBU-rhQ$ zE&o@85hfjvy^r;T>VytG$7m}nGB*G)DF^Ir?d;`OxMKMxr|!P?sWp<5cp1DwwQ5bw zKFKimv%s6RU%{dXk{H%18Li=f@t}QOC?N-$wVzjn@TjPTIPW=g`}PILFPIX{C*bZg?oa!sIou+th@D=DbW&dTND>R}* z$T$r6!}0zSgq2gJsqwNCqF;bYbM8ZnI)Hj>TU?jaS`OP&k#FCK_m~5A;uG4v-W(t3 z8`a#Ei>vtBw+D$1RHyF&K*+8rrf~_@TM~ElEO(!Ht~?ZvZ7;)^yeb9Ldm(2DK8a!5 zQ)BJcv*raqFR$*ajLaw0^GBXOT*voU6}aDnwp&m7gP~(g;V0#2V8>}ndsgFXhQYh~ z87S4us&$>wr15M~SQSj+#~@yr@Ix zGMd8P)gmJij%O47(hP5wd9kOOo2st5)y`h#YUHR?O#pa}Vt-fnir!GsKO|1%Aa1?J zI(w&8U~Kq#i1#Ns3{$LT+uL=f@5LT@JO%&3z#A+g$aBqk2grYn_xb; zyZo2uUuSSv-?e@CWp1+%lwtuCF6ws!NsYpZeAD|w4CpiFi0?UU%@ zjx;4xac5Xuee0y8w=Xm5POF%|5b4qFvtUf^Oq|2i6Tw>46T!cz04z-G9RK?tf=m3> z*n{R<-|j-fB%q^ughbI^hT4X(yt^F_|AR#b8`6MFvRKfAdu0{r&Fs|3!Ubnro{pg_ zExgFVc6ud;o7Xqy8UEngn@f52uXaZ&IQf#EM`FCOYkpr(j?euxLc1*=$uPoCU*#d? zBT%3@z;4>LU3brm)Hc#+aWd!-DC9AxXdVJyQon=$PCAe9)Zy^gdszQ8CNu*2NF#f-Gmv^t;aMRt;iO&j?Z+6~qs39XGpb^~?L(_RW?64}!=r&Fh|r-?Af2;Qh#J;JpBs9Ptm5 z+@1Go_kIC4Db%=K9%A{Za}1tQa+S!*!%JbXFd7j{Y(%t@OR+g!N5~65EFyA3861&P@RGW{)*E?hFH3TTOX8G}M8 zL)gB*e0YJ_MnY~Rj^gR)s9EwM{LgZL@b4mfo$XR+u;c0`F#Ou!jRqAQMv+^)z%zDysIuX7&2ES~QdZNi=AgdkbMmWI2%o@D{ScD@=60*5djPV$z8}l#dr3 zC7Zk$Uv^l60$;iCOIgW1;hSLb?y9Y~RdkdRF~(?{oDJP3(IvLA23i!}G*nbSU95Vw zQJOWIR{na}&sabPJwU@%RK#ax&Znwkr%gd05^Nth`g4|&@@3W4M#W(O>@y+8Rr=J+ zRaoE8a@e7#40T8fxTtG24FcDwBQJKbS2#;4$wwD7vbN&ZNe2Vv9r2sivGIo;<~q_{ z!yJzuvvd~Sa6<5cLe1n)nAeJ!IA|?bhtdrphPK4=AjG$y zmpM(}>`Ndo-V&=7fb1RsW*LX$r#dBk{j|lzvr}~76`2>a%CHP7rVYKRsM}p(N4Y=R zN~Oq$%^mfL!uoh*m2VR9c-?SR-!K|I2a+@M(aQQuFK(J;;-)t8M)U07*m9L`#r@q{ zwF~599wN9%b-9eY<^|l<jEba2W7jJN`CcH^!iQH1Uix#8sP z3n~95de@9C;IfFDbLhhiaV&}Ct;tWSoVl&Qh)xcaU?YT1dN~gI(@LBimF~*igiZ&a zP)fncXK2=|e)Yffub+b-?KRUjTO9Jc-5LoUE637uwyG@@wcfU!Mz6oIO^$C}41;`3 zV5>vC^=j?|X3vqs9PF&$7fGVNvI%19Mrw8 zv@k1L-LcD3kY2xNY>iwrYY&Zdb=OVYinosw>VYnsP&pL#n)}w$bT+b$4|IN5raM9W zz{_o{gDTmo#tUhv;kw{za&Zzmo945LH@-_Ldy>fm^fG1!rU#4m4meRnuBR|Fp|T@6$Q`lWz`r%4tLvL#g{9L0jU; zeL10E(IiPiCZ!U#(>$W1m}_OR1T{7h@0PYL4GqAa_fcR|npBJDEzFeq@iV2?!XJsr z9l2@|VAYl>xD{`+j?Z6}I*D$Tv-~hr?ILAhK_pj}@`NAtUYLy!eWrIdS@63`L>4cz ztT6XA%p=Wd)XKNq#;VC`#X|GXawwdI`58k+6MVY%B^cJQZ9a*Xk!ds=yZcJ)ryF~d zJPdJu|IVN5I-4$|Ql6|uUV9or&$$oLIs@?&Ks#yVn%?l~KC%e8235e-43jk{bi=T3 z!G+CF6Y7%fbHdVV)WF8%6V&+Wt*s}Ui^yh+a@{*URpRSvt{$sR^{O|a#%la2dwS?= zzN7|XJN;ifu92Ei&rDNrFp|y|+oKrWAF}EoQQy zfP8<`Qjy({k#3ScK`$vU^=7faA=@IOWhryL3S0$VWHO6GW{KZKOu(mN7_secKQy^; zamEcL6Bb5nGKQ=t_iTWdSRi?sM6D9WGS1{xf4gPlvzm^{;5?RDEB;x+WP5|CMh7Fr zQ`}LzUv-882@1;gOe1_Y5+M$6N5tdP1jx4udMFRtPj~X`)a)#B+R4aeAk-RqD!@H5 z=xrxtqv!}-F4)8o$PnHabI3_P(*t#MSmb6kxP!@aXNt7AKd0CAVDH&iAMk1=;HPKH z2b87!ko-mCzZZN^F5%TdqjR2ibdr2C8T=6|H7TWP&HIv?V-iut;J!zYvKjA<19;CB zqRP_+)}AfhKJaHT^4*AXmOJyOd{tmgTf>}`@o4Q79qe>JB37Lz87tRc4`JP%b0HSZ3H^*$+hPJ|U*azLFsN45 z;2Bqvq0&nx>4z4zXD@Cn&M6g}^3;qLiXW2!YPQs?G{oR~X9gd5SV<2wOfKb4t8NPJ z+*@6H4eyP?Q2)X*w<5~34%m)em$<;yrAc0KO$y_t`iOVu%FtRip|3$*Gh zIEJd!EdAMlT^^|+@9cH+C!|!u&s708gZa&1Bjq!Ul2aL~ zYW%{@q+C7rXSH|giA$O$LBoDhS36+fokqOT$VGIv`4yIcuUGS$8o*z#2udtZFqEH2 zE9+V#P5$wkkLP6S6LgqfuTVjF0v^IHav`PVs*bg$s1MB%-*w!5bGZcC zB@-%3^vZ%-3a_4hfmM4zXg7?V#y&2<0?}M!$Q0Za8iL|s9gtNO;J)Oq5tY@-gekuy zPzy1kuBng_%yeql0~iBaHi2*^Jc4u1U*j|_GA%{&_K{9fFzG5k61k~QaKD~pC@9xz z4~#3pKH;w3fg=}0pc<(FeLL&z=Bma2QRbffCac-Aca@Z~VbNwSp~XAPU3umf!L+X2 z;%%e8-A^@TZl{;%dDw&vHv7UsaI%rjgp%(m3OIVw+bvNnSdX*H+_-nh z;aFx-Xuf>Z2cEY&|3SRXju7vZ%uyD#d`hYb*T-Yf6r{b3F+k2|LPeYRb?7I|;H zRp#-=<(q1xUM#7oJG+`NNglg%!Gw9}egL)5MXl}T01$zSoMftlq*`)+0?NtvP*r>W zHCQ^9$veGY9|G(w)(GK{NQs|c-a51d=G^O*)W))U;aND)n@b&Bx_a+O8IW`_NXhp) z=8}W0*5>4Qs`a8Hs2Bj7lgyVU&HWQ2@1@rxp-Fi-zcGicH+$h%==kf^&tWKxbn2PX zIl4UdU_c1O#yB<)qu3la4?k(wuIjI}#D!=~NP3+sV@bE9%p%=-YO4o7>UwLsx_jBE zdhfykwN+m{shxwmB3LsV*)XO`Dd|$H@)E7{=t0@goC#%Yq6|^sd)A@a5M4Tb=}Bq* z8=WnxbFqW1A6InjHd50(VUAym3E5f-)!udH*MMd=E9bF=LH}~Ee7pI4HkQP3cSGaN zIQ}3rA)~;%(bbIO27foEh59Nd86iz8cp35(pPzVBDpX|!%`Lx+676&^iJw`c`Jxh~ zv{lES$lbavB_(sH9F>&dg;b=@5-4xa3_4vPNfq&+dsN-pg0*VuJ8os&F1&vK*E#^5 zTv+mZ2I-ZLS?&z)#N?E$YsrYjn3u^??v6BJM$vH{d3LwH(NA^G+9`-c3e|ip9+nzux5O90 z%B~FiD1;1uq|l5gx(^Qi6+}G*o%SB4p=zufP=VD==Im9!NXNj=VRZCt613c*y6~U! zTVJU&iY5q2uTtLIusv;Lf@Zrw^j#rU+Y2XDoN1LI1c)b>1AJT;w+WTh0p^xobYV238%gTN{XWu%3~UPL0>$jMX_`5 zaK@4M&I^Tr+d94oYx;A z?&>nC(S#9?`Nz(l^Jw~Z7LXD$bKV%T^9T$T%v-crD>(7h@Vh@zLZdJ8rD#M{UC}wz zp_+l-GnDVeN7Jqato;*=Mxu)tsDs+V&mNcKU}qlTV)RztvajVi_yM&1*Yy@F3SXK) znY=3LXY6Uh-iIKN6VH0OyxqaYK9hws)VH6}_xr1G35NEVsB-etHYoe2IIxP|g||jj z>mg3;9f_wh*}J=n*>PYzldwU~=<8LA_Me5X#~=KmqF;~^h>jEgX?pzEEsyW^hrN*% z3>zB}1JU=O<#HVSK^4Hl!pi!8bU|{o<2G86L$;6AAB<59OcN?$VKrzBxX*bGi6a6I zToX)!z}ocv-`|tl$rI+SQl}=?+JNdXw*=26KJX)H?n+tDTrxhcF-O13lIeTi`{(s@ zDGtvo*1tXmT{J&GAH>tv5dj~Q^I3!`dMNH+!TobG1iz zC9|m~nq<;e=>2|q9c~R*8cmBEC+?BBH?fjDxVu$Pqc@kkTRhyq&h7p@Ve?}GW6ly` z27vue6G@^0JYcW*j5>MivY|Z%sVx`dj%QzvDRm(i6=nG3twVSLHU&^mvj^t71Lj?W z=1rw3+Aa&uA?%@l>U576Y#|^F>dwdD&?)AkK&x`ubK*8{@YvMVs5fgmA5{-BRpCZD z%of@9hn+*@NTH`rnT;;PZ&ic`FRq1d0?Z^N*~sk+$c(kxbGD0)(O9ip9!;BI}Dkg$0Yg+ zFO#%9-^@;%nw3BEZgrT*l1ne2wdcm#=rK~}TnpB_<+k1El;V;$=JsYgmlvU zUqF}0_CV*}j2BwLxs_y<$q5?;*SkC516JP(;vkCzo7Z;G5{uXOH}e63-Cg)4*7&be z-OjgK$9{nr2io%TSJUF$Db?2tmz|MhSLKI#`iMheUA7#_Vb`(EDbsRi!tp`PBqtJs z6?w>x@UJ6k{GyXb3zLM}@W!-f0Mc4pkEky8l!$w-LdZvFma%SYR+k+~sijizx-GSz z@~m&wg7)5ytGi4mHgIyX(z?YY$P0R_cRG#S-seyXd2~*fma9wfTlyAPw$VcqKPqS5 z37D((?$v??({Q>UO9h8;#Xx;Fh<*tdFVs{HNbk01DrK%Lo4X@T)2p z!xq|0WLaswNnls*EKE0P`$x8YR=b;wR-^wCshz54XLST%R&0{EWCjCIc?1KvWnaYKA`k0S=2ZEO?GK-YrJy4*BgP^X|=-;pP@#=FRV7b5%3uwYbZ5FOZ&tKKeT6!SCPJb(u)&Rx2UIO=>r3 z#_C#uYuz7y=!#!{-F@<%p_^vmv@T`5O8*cpZvicLO!Hy90<>nrao;+8EF4w1ez-8{ zH$Bdq=TslLTfdDtjncX<%eCaD=*nYL$@VYd)Iv&De~JCh>ZRfOxkkByiug)$ta5woHu0g#i83 zm>shBYsGo&1VDGfqe_<@qyBY_@#H(-!qt9T$jbY8$>R5WIm~M5d4J>Ye)$;w?xU+b4^^1J$-^p{}n z`2%wrtUu+Gx_xf7SzjEofJ^+maGc>)||WepMqRJXU-fnSusUJ*_D|y*jSVX0;bF8aZ_?%U$E`VG6q&s@e6vbJsaS zZ&`Xv90N(XIaM7{=`G;#ahW==%5QGx*MK99CfD;vIsOcqLzPNx-_4pK!WQx3vP3sR z`HdFwH4SOQy195IY+J0Wf?x2@)SF?Ie6}x{U&NY^<8p3!DkV}E^a*M{*KEQ4D zj8BZWS)uFr?`v_kH`4CUFw4~}l{uOhhkHm_GS<^ut(hQRvB^fi$Yb6zmFtb(f)lz9 z8n$IA&&xjt`(L6x=8T@Sou4geBY?|eYh9UpC9IMQQPr{f$mgFYx*Pp#gg#YyHT{Jy zHJ_iS=DYTaEWL-e748*J(|1SH`kvu8gHFOd7M`&)dR@eD0Ng*v7^9|LTHwGs$D#B- zjD?zAW^dXrDtgHi>bGf^>YGkSIYamxN8CISU9QXSw&i2$(Vf*4YvG|ADLl<6UXnnV*I#u!))MCssvXeiAJj4*zh z{b7KG(9FlK7l8iH@jbw9P+))!{@-i||HqaHmPZ)FBb4Tbi}slLJC>^vUs4tGeVGg~ zwjl;oL+?MoP-cRRu#uXj>EJ;$0GHX-X>r;_T6XMZue@y16v1*jcJX?QEa4QAa*Ryj z6ykD>3{rIA2e?^S5qhL9p$GKB8l*142Z&jBLC$3I@SdpA0vch2_ISK8EinXBT9V=K zWzrH2Gfe~jQT2IV{6dn*Dviy59v=kqZUtnLyu0kH%9kQj6g8Yi%DXbdsed>RN=MsNggBPlY>k+@g%&Px$ zisAgvsgPYIlL(+md_$q>$A(66c;vr}^*?U^vrOU#-AdLBk15^1ldSi?R_EDJE8u#AX_0T5-CUzbbVsw(Y@}# zY)VbOC+D`DS0I%v*C+pHW=gCy9U-gW6%-0#Lm5Rp`-bOJj z*amb!&cNx=1{D6D)8z>kapeUPz_SD@!U@2Ik>4TgfIP-a3!s4Pp;=K(fjST89o9s8 zVZTo%2kB0|MMD^|IaHh3)=Tp+czg$n>VLa5)gsnApT!&|E+Wb=!VXTj(Uka(+g+Q zMGtJw_XN%~bhLd3`%LR0+7xC~>pj{OVpIzZ-ZWa%;9os}HRPv<{HOBzX|T)+qKfMP zbcPh|7C7fjX1}6J>Z-vPG?q!uBIFo#qso48&4l^$HP?C-Dv30KFQI;yB5mUkxVhNL z^NyF&KGG|1=TJG^cRh3qJb=xjiu6FPYBYK(--Q1QrjM z1r`UFC5pq#VQUg#zIDP+zB)l{n$_DbhQ+OVRoPmB?a28kRr42)>l9!E#X5iVA7-$< zGC<706SNf&g&3-&2_S_SDy07lv@}IhWS}kb1%YJX8@fEPd5UlCauDjp1~v!NL2?l6 z{fF5%KJdWoK%G%V0hGWyxN1!1g{};l6-w0R#7sB680olsc?xPQiN6{(}Wv|1W;PqFIatTt%s?QuH z5~kth-r36eM*qYv;6Gy5{ZFXB6_n`p^V^I@@cm;yn?y4d?;*}P(q!}B_)irJHj{Sjr>zo|F|bSMq5nA2C|QHhOx#1+9Ehci}H-}W^qOAp?v?j4ViKO4x@ryaQ!_^t`W)ipAwt@|C2*{y#jn^_mlYHUq-58 zCmq9_qU9jpEXyPD{@0fCT^;|u<^0D;=v%jWr>Io03%`R$s$4qC6-XhY3x4y@{BL&> zcz~Jx&we0$QnRi1bD91|yF0f*E=A;Qa6OY=FV?Onu*0u-?s0HEOP zqp*g~_Z~K39P!KLqp%17Jc5|K*>Xb(fusiDVE#XvGrHSxxGl(jJv~BkwgGe5d1L`Z zy)W4hREU=FjWvRqV6=&ivdZ}Yzp%OLfqAP|ot%S}n4DfmyDD;Xj{8aWeq!(ri?4Tr ziS%dd1=8L*2FGJroZrtc zpAis@>yQ#9k_W$zfKpmtM)u#CB7Up#$Y$qtru|75k*r9YYZvf0rl(J}njiL|H)w8S^F^)@c7GN1qfSQL1I5sC8txdns#EeW849+MnKJv)eJ6-DQ3@rSJ$ z%S8(lmHgw+h_c`IQ5BJvw2KR6EzW0u0S!tgGlptB=ZRo3Lu*=4-n0r*u&XOFk#p*$ zl?Txxk;Y(*%J!pF9s@6A-Gd7_aMhtX0XOJb|B-`2oNXHYt&~2LyZK}VNmOPWWNua^ zlO=>aRSgh{`4$bFmO7H7TF9P6u0X*igU^-#zr`Y)aoV09oEa)>sM>2Ip&dQ)3bJS3 zfPh*!0PgDm-sn$-RvcimJ>97;i)SDU7sP5@ib2SI?gHm4GAbm%3^5(F?quF~|A*cq z=B-yX!n^>;7{si!4a7a$VDAuPFAkPBkT#tJ05Aj-K9qR^I^BdCi)Zl&a^AF%HDXz8cA z2R7+aq9h7kBve*)yD@{L^Tal!wOX$u7Xjd2-9_&-7=%*)QHp2^;5s?U9ZH{yxUSdN${xj>Kv5HHUK&O> zNxAEFp1`J83{^|ZcOl6R%oy$GTX2!zXgvsc2O#rapi$)%=cPai|GRw z?dxdwtgpSJ^k~WoEOV{`#;VhW7cFvJy9Mev7EvI7FDW?h^fspi8$CkWUS1FkIqTu$N4(Tj@7+xHH)dXl`#`!t=bA zprS*r7!=mSOdAQr3Z1Aef?&WBZM$#>C2kyZPnZ1QrCkm;&IB?vx5erztBdX*_;|gH z;S^)r@q@k{J*1%*)MMHpW#^(>Gf~v8(@Ynt*9F{+n8lxhNjtlEr^;hgeWSu9dY3xd zQW3#YX+lqI@pc8+n8eYDMAzMUO>`T^ zTV2S9`_@p1QC-E;)pl{zIq9yiIj4v1lF``4c^|+r4z-?&cCCcl?CkohGhcX_-5?MR zNV(um<0hfBJfsGUR1eV7WpBmMKOm6aI$Uv$!M`|Cva-|Vn;HbHzX4(O6o3IyZ3%;; z&!fs~epu<5-!`^<5A&kia`v9LfsV!VLEf!?uLkLTRrxo_ykkrK=pK# z`=p;Ql}Vd(ys}=ksb|<@y89J+zPmns(oLr+HR-gNP(MlSEea4n&x#N}$kx0Y`Jp$4 zgbioo^h!R{lRG=zTcZNzq0c*aeFPO(P|ZKabCLjkQ2=sR1etozv_p*KMOG7@=Mu7E6O?<~@pmwC za1;{_|8=TBmHqVF#rpJDizV7vA8?WPMPRD`K$l8#1#F(7^`VoE@$NbHC*e`U*>&Ly zff`(G-rvIBc+w0~x&{#BY!gIQUta1RGU5pnr|QdReSs$v{POAS$w#c=g5{Gbkdi3x zYA6n>noOZ8R;mr#Wars>QDQ#O;l?^s4OuVo9-LI9US_8m#^Qk{NnJ0}@uGG3>m^6k zAl3)#2I$Z{Z;5{|*32<+Ze8ejIgjMtS#oYfK$K;Ll<~?FZtDKkfxQ90-pH<>#(>ox zy_sHSO`qS*V$a5}zOxb&yKLrgp3e}YI{)=0Hv81KD$xRjx=d{wzqM=HaFvpF zu0E#J8=k+gq2SQj;OZE2BCw_%1(ab-5QN+A0&sN#W!I6GOW@!qHIY*Q2Rv4^6BGf zQ;rs9yuQ|?pp$`?HUZ8`$IxhYlnU95IWvXU+bQ4H)%$nU+X2o-bkYuE!kv$TwG>{FsbUmxxv&^iJNTE5Db@=)ctGBa1nyLv?Sl)0PXp@99RdoF? zILD(H2P=o`d)&kx?LN-QUzv4b0Uze+UJ~B499iUfI{#uBwy`~PHUoDu*qAc2DckZr z?u@Fe1JSxi7xdJA5*@vbF18Z1a{zLt zIjigsvsPg;X%`ku9fiMIn&C%DQEL}t;0QM76lRX%NY?ZYrN{m7p|>D?Ir7Gi!fg!? zk2HBNejSM2Gk+M5S>%!!=@E44)F)J@bV?;NEUg^6?qr!L^v#6Z!@J14o#d>A_xY+y znm_yuZ<(JC+7B+_HJP7washN!#sCcH5tI~U-qRHma8OJ0a(q&cOrqBbhZ=>-x8L_Q z3=YARtBJwpliJr-bv5)9{u!dXh4(zL;j zQUiGh*j43^#AxPmuU+!Y4gx^m48&zQf{c(&ZH>|@_~r2lymbVZD^A(#!I-p`pcQT(S(+0-Y{q}YYHhmS5OPdi zXkz2x=0?4!TUkMI#1LVWkj%UW8FQZM?6U7qCy&WRPL?i-*Z%~m^wTui z+QwGw=_*Ev1f%eL^EO3`BBXN@8WW9_etb*IA1#auNm(fTHRUv%ZDhGt?+8La!6wc{ zW%4S<2R%l%axphM{{R3|mb@h3n$(Pg#*zNzk}aLn1fGy@`Qew1!GoTq=Imm*cE79u z6p$%ImSeA@whD=CQW%1xO?n;h7IDDKVIR=Sq0UGLPb8Z(VRXrtwM@r2 zu)(r^|BzqmSTL0C$o6H@opd*1HT`7x$`&%NM!bTSTV~nMi3tciZX;2YiQ;0^;wvbR ziY;w&BwyU(cL?LfXqVL!)UvUo8TQRik5g{R@XsfPVGxa4hzlx$&n3r3D4S_*EEW)x_FHU}m1**G-9~QaSNn!8tju zQmI+LLKewI571wht`9^+*d~C}tB&m&U3NJC3H!)-Uh-DG^EkMP$)42pWtNX6GS!PX`~M<3)!~F_3jhJjju0M9mg8 zS9Iy}v&^lA)rqT#jIy)25E6dBWEC_Wny+X4n>dlHyEp!x_v5ID?hdZcam-zkuaEf} zx(|B5$NqSU{_bJi7vPcP+4wiCfB(4t*UjDjcugBv+gSs<9t`W$c+U1`{~^752qX)m z*>zt?CF^PkRuNNDQnB<)61ARQHam&K2iDz6sD6cNn@tSjlu)rg5*aYDTzHU#u4PbCBp;Z!4Gm zjQ5&pwcgBzAjg)bV^igbrMmeq_6Qn+YZ^~A37NMAD#q-Wr#8BQONDl;j6I@st_qj1J{YyI12UFLmJE4sBGUk|i`Mkx}$%qsw!cC*@WUTF+b^HAKH4|wzN zL{};qccgai*f-ce^%K9vjR2rAa46!gamlXu<3`8UquaSq>}{4xNtD4@HdX8NZ0yl= zo04(EHOo(eky9BazRzvdx&p?8#K+;cOGf^6gITH$>ZqWYaWYju@rK|udx8eSjb*oD z*t1RN0&f9sC4@L`(|kxrS=nWTIBfcAlFjw&sJ<28V1K~PtXssZWj{uBG*RAb+#rY5 zj4Ax1qdqwZG~_wASjL`h<2@F`blB)(;=rWgBwBL4wij&NPKS~x6{}YLP!!aEMg3yeE1V$@B%VXEC64b;ed)VNC`ANIOhO61YSXoxYbf*n<%^tXs zU9094@_sam#-_rUtYB4qP+%<1@){VGZ^6^Wc#4{62>|12xh-ln7yNx&uf)x@qb^%W z7UBkQuz^9!4B;`QJ2Y@g9r!cfi2_214jm@hDE-`Kfq)nxqc37a8Eiv&sF-`vg zQErBEE);?*iy#|o|HWp+&$*6g_Yu;P0dLjR;Qj;G-#EgHx|W{FvC-cI_KR;MHHUy3 zFK^e6C7s6U2E@j|{bsU2Y$ray$iylvRLTQjLGot*^XF(kJc)dBE3jKUj(SXWDZV&4 zFcjVhIu3uCy}onR>n-1MpHbDM)ZZ~HSE#>u{j3nn(}jS1lA(hB zQSYac0=@&#l*3Sv7J3#+qhE>ftP)hU$vDXez81RS(MI6WrLF87Qz>TZE(J?Ans)uY zt+R6%iXsA3L65GRTZlI;4#xx-*XT|FNE$v#T=r~beyKdad%~W#@#k$o`{$?q*GC7x z???aF`{kWG|L5Nt0N`aeZ2Y)o`H(V{BYdAwfAGAh7bkV&1B?FBmq?(Jjt>Gh%HuL) zCqu?XVk4CKqE9?p!)i-)kp7s{zu!(TCgOzPLWs>Yj<&%H(Q^C*B?$fxdAm9w6+LMQ z;#%=Shyh9QNbr0Tf}Ik^bC^Rx`| zlKoSRB>C-n5YLYEdqGXcKROQppY$ftB+c-$@D%BD89zqlW+Be2(t>(&>cG0uq?#a8 zl|OT8AljN(Alb52F`I@v!RhL+ZLN&$13OFywdp%6*`%4aJV`q=I&if=_VRLBRhN!2 zFx7PiKQ`Vu^1xBr-m;xrkDC%^IcR8EGKkLA>~=wF4BZhvyFyyE*_40g6|w9 zqZS=M{(oG&^K;-`)a9E_(m}_z&5o^(ZQHi}O**!1+qRvKZQFL{d8cmGotaZ< zb9U{uK1(_&+tRuG^J)aE94f2;Yd^FfJrhx7T>K)Hq3*W_xKa>%5Fj5oOfvElKfP8x zO#`c5g5$$lnx?^_-5%Rbh``B1s<9U1jPY+;7$`D68|>CoFT)Soaa-FL(y%-Iq9M~@0iV8l&%I(YT5QM$ z{oSQmLY0!MYG;X2%7FBiM2(VKPWb1UfL&Ykf>=xjRCB*!aznsH( z^J&rPJ6A^lmNBQCVj?dl7#G5#EKlQO3*y3!*^xA=13S=!P-a@apxrb_81JJobfRD zpOv3BH{}2Ho#DK*Cn;;!gBSSgP|i!9gplcebFo#1j-98cei{nuJ;HOXB6sMkHXp_> za8_wkWq_4air6Gpc_kMRjb-<#WL5pDgoB}IP@Ct^t_669{IAFfSPf@-NYdFJuTI+i ztb3psZHKeVw@#s|#&eOUK{7CrX@o1^@Vj7RWq!@R)4k>PkNMgur#Y%`E;y~vH&8MR zcH7jKh#hfrm=B;w@^axpU`53^Sb^I246OYY-DFwhQm#}%lE5kVuzvkfMjwcPnd{By zU+YD7^99U}Z@heF*xGtJG!T>+8xO=wQ^Rit7^G_zclE$3?Xgq_$b5x#^r0ykbF-y+ zMs{@!+9+TR<)2}7pp^gcY zX;A`RosVv1=5doAYFx6eo)9t;<8cYWFe8jH#d0B?q*MbAKj`8^ceS6P&#mWjx46E@ z)f`|Ty^i}iQP{Q?O~V#yo;-a*io|*36**aL%Rtb;ZEP<*w7u!W?j(SamqR*YkA8k4 zrdJN*i2oYEOr}C=tmei1bLK;A+NGkExjVU4Jk&$FUo*OI5Tz;1h-Zxh( z(NLqH>cA$nP3E}-pWA}B%fcS;sNX#yaY3P>qc^v`%%>aJR(D_YM{|8zU@T34KSkgF zYhylulRTr(!IbD;=vCu6H#0QE4E23HO(BX^RoHXYY67p3In3$nm7H-6Ui2heTnlJA zdnUzZk>5@}{*+W+u8BtIbd6lo-S*U-X}a)f#fR)heDCQS%M|$5;P!oTdGS8u-wvb@ z`P*NDQcT0jVxRo)rp)hHY@1jA-*JoXV9l|={v?F4(tEeLw0NQ421k;hO0LitH2Dz! z6yWM-Dh2M5zut35SHVWRwc)$mIt3(TiW!2Xv!PAAvZTySW$OKTcrI|81Be8@@~1G`J9lG1}aME{@Fz_ zWgeFL(yRRNdcNBkV6u8*rl9+CrC$2!ez5i@_lnJ}GSOwi?MqtPvP9VIFS3V303m!8 zUJ`!r-5Vkc*n?J6DV5om5t3&BNM;MUppyQ-#m?^MZI!?0$dX%O$r2~%zT8rA0P>jS zachOW4w3-3QHCTCA*f^uM=#Wh@H09yfiq5Jqt8S;Gj`5v4j3t8b2k>ZMdEE0o{ zea8%KbW~C|2ffELe<|*K3el^69LaMGaj};CH%y4yy12R-WE2lx2Ot;mx^|p7_$QmI z;L@}4V(pu4kb&hR3-Uo(Fx<9qN^8k3$N0<7=Lvn5_CO zq_Fv814GGS65Q>(Qotsqkwtn9^<7mia5yVtZup<+u?%>l(}6c}-eVsJ{M5Pc`ydqp z>=Y^VJPwqN&_l3jt3knpq|0u zM%-bViZKQ4K8l}wNX8u$BNSxfs>kMyt}>ANil$iwsdw^JZeea|>#Fi~o=-9erKP@rOiD?N^SB}=({PB1x>5G`77x%&X2P-mP85-!{R0*sBuF-hp&$$1^ji9*jrZY{Okl4DsLDK0u_AKty)Rbk37Mo~U z$O9w~{;L}4VvOAwZ&^w1T2AB@&gd3Yyekcnp-y-R^SFN|pMFE8tWwqfLtvon)b$ex zT+%n~{1W;8P&!P!eho=4_m#GXpCVaDMq%)?B7-j*^ijwORc`5PmdjVT*MnV zb&6v1nPOWS?SGC_+}%R|wwt*NY-ILVxPb{N<;`}bjGUPWVhE-qUpRqct&;Ra4ZPLO z_FMu)rMT*?`wKY5S~|)6BHhiL=6mFnmx7u|~>lzygAq*hxRf|By;#n3GSkCH;BNB|am;rQ3kL2`_KsKrHG0S0{LQ}cJE zIGu|1=K}F>D%!m=vEGa8x@d4q!}sZ=XfiWnRi6p*X*n*tRZkO3w}QD(3qQAGQ zDUuM-@iaGZoUt;OO=U=(eJwF^UVu8ej^y^$;NhlTZT9GaNaOCX)b+taXxa)XB1MPH zHr0HEGdM(!k0Xnbzi^C+QvWJO*VH))FKlSqwqfsc z=qK4fh>n^LkU2@YTT{r%aifD68A#?Bl!ICFG^m{R5ZhYbl-4MB6sWx$VSwW=usv$9 zR#U(cwk4v>q_N~D>XI=$J@DlES12;EmgD-M8)g0u(MheN8D1!PU}WekPP2<|JlRdY zBJ1d?t;e^y^`(5l3oj^&$l>~WlW7|YHQ_gT?C>KUY+PxkY^xdnxsG@xCnG9i`4bU% zPCsZ`XXl}LfYuFT{Nys?<#=+*5K4OL2L~4I@sX)DWjRkpvzRnDFRqWAU z^pyY4YNa_gcX<^{v$@7u*j%R@ip-hQ^Gf(rsB!yuFP~)pZU+IvHy8NW{^DzoPGH{G z*K5V@%i%Eryqn(a%|H)=i#7`!2p~Q%y-l!1@a4<|ri3^f$s^uuNA>4yYE=9OhZ&xL z&;c^Z1Nky)D6=Bq7>HVnIQp0n5T^@rIZS`Je=x2^t_GW0q|Mw0Zp3*1m|#Tv$M9@A zD_kM(r}@CfFQQ)tdIwYol$v`(V=2%|@Qe~;9Hi(8V<4QQ;gc4fpBenH{6O0v?KC!{ zLuX$or>{n+$Gv;2m)Tx`!2a~j%NIxk41;}WII&RZevGN1MBso?)*Vdf9}#~K_mA@% zYSWqJf&Fa+JA$YvnkqgJP=p`iqkPO(WOpBX(0xY`rzDc+Jz>SDi4Enl!b6iJ3f7v_ z)MSg?BmNHz@bdZ~bYaQo92cy{&Gq4#xv351MXf4@)MbUXv^ zpEv)7Iv!1gIF&Wb#6|J*r79zbGgX0q6bhG8{|7ytI3#X)$hm{P=8@V;g zz0id2qOB4CDay2+G6C-6;|PLeVUU0V?nWw8eWK0KVc@toY<*&EZ7kxxR2YT0Ll9& zu3^+&+6IG)0lm@R3HVoo8oZs~n z+-hqXB$Mz_?XaFJtCv-wya57Lilsup0K(+7!c!9(*CUK5EIG6FP|v?8O7@RehqcFj zyxHeq7nK&wC{eYexs%e@S6#@jVR8^r3*-In^|s6>Oi76L#Ow-idvr9K(;%mc;#b)8 zMPHO$;7Uc@k~QNg**L7#mXXDQ%%xZyIiB3QY=H)h?HMP#rOb6b@z zwF>iqG${K=nIn-DW!_@K36{kY?kJ^sYzqmaJxv}(N1J2A<7>mgI=f^YrcfJ;qJ&<) z7s~qO${1#4G0TlzY+G0QmTqd#<$*r>i3V8<&>qZZ=q!L=iOmLW{GXq;qo7)&CJ3EI zL91>17}quLAeWIHY<;U$>wZrVgzkFvqONO+Ua=91wr&yLjp!fUcjteAQdLFlfy^O& zH>cP&now~92zJKj^>;$7Y?D?mS&QM(R(mWeC{al;)zu2T@J(9g+BS#hbpT8rx> zTSBn0>?!f`{TYvLF>hsK{yVdPPK?=*uip!->s_U)q6B*n^%69ZvWZF+0MQ-j$>Jqs!mTPL>#6hDZAac#89|QO^0wWI z`ehJqqslK6^Po)G01!qk!Fs2hr~3_<_E%dr>JV*7i!hIB2MdmkG?ml0K|3Y^Vt zN_{Y`BNO1>)n_DyCzArZmnk|WunSd5yqAvU7AEFjhHH0@9Y4mQ?a$2(x~Z|Q|0pal zCh!JEnunZ2~j$9c34973R#!gmffdj7dO{6+~Nt7MKDu~e;kgweD7HRJDb|{Vggjl z=3dPR3GC8EFX-g)&>Qjk&S~PzRpL$-ow8<(h2{dmCCgstrqGGZtrN0Danx_7g$-b8 z$LCwq{p9q+pHwePUp_u1)=6uljlw>Rv{lomnXX&(4f1ERp1L;6Z9ELe{bpr>VTnZ5 zLQ{>kWXReAd#kVCFmmpI;keV|f7n%PO)7O2;YVnygXnlk%NAQ#D+VmgNY8&t^fM9$ zk*YqddG2_ihk(!@=G)SN7)YV?Svqr<$AR7RFv=rD2kr6lmUvpKQbJ3X{+H-o!EN{3 z(lQ5Q4~At7un|bD)4@$WT6yo+7>CvGAMckM<>k=}5H?Ss6&au&tdx>Q6IF0^;??q{uLwar_G z8LQkblo6{G2J~HDLjj~_2>f3k58HA&51%FT+b^;3ckg<>PME$g=Q-JYpTP*g8<0cM zhTp)AsKNK~7$e8e`-v_WE9di+l@j8*G?BFZJ-_=K0|8-UD76a?@@PS0>IFK=g%isy z^*by$g&^CFIM*lRZXsm5TqZA#Uc}7WL>m>JZ)i#*x;2p-C7#h4yWsA@oC`zSQKjrB z3U?023L1jkOEE&;mpy^aNH9tZKae?_vvcG0xSJ`6VR)xT;44!?FU$xkm3N=mX$kM1 zj%Vw#(dHb%`C`nKgC$1>nUU36rvQ=e)S|3)6-P5KrQ9Oa_ zq&;srNNUe#YnNEK&KAfTWs3ZI<66a(HdUCp1hs7K0l@H%V3Nh zs2D}%MR49c)p_D{2)n}Jwu5t!*fsCxf#qt-vQ?Qc;+(-ct?(%e;D|_8`g1SDgY`veY z!TOM?_4m?`AzDY#ys^!nyR*IToGDgy{trBP$Kd~(`Ej3c1)k3kLdXp`hV>SYPyMF~ z8g_PFiC1p&qv7_z$|1B%yk@cHfgf2|z8o$`hZFN9ZmF~`8{b^sucu+fp^Sdi`qhQb zC(_?EUXfFEyxwtQfGR z^kP1tQy-}=Xw%>Qgdi9QE*%;>yYQDl6VaRu2N4RdrjB#341nf4H{9ik0yp?uTj|-dK-B(c zFvs^<4|w?>718tS*6#Z~gdcd_|NgwZLE!&<=g0Sb*}b`YdIMJvo(zjdhKdWB{kX3% zCwh~~l* zVcm@i>pMbM=)y0-e?KYU)?xfagX!bW)lS%mY5$el&bA5>RoTLPUW|o9#qqM2+=k0K zyK?($27Z$MpJ>BSw{`-xPV~;k5+`2uR!MUn^k zou_FOD23?RLUbcQ%{X6ghOzYDtfqN_A#G%VACu=kbtXn*1#zt{^%)PWOn_PKBGhzV zbXPFIxCnvxhk{-s49`T|UL_OuaDu#glFes@I!H-}jDU4$70JYQW&z@WS7YBpTQE~# zd&O*dL?8Xg5CIj5HkOQ)h0~OBv@TM`wq}^zr`ZIyZhH2fTR}1S?gKU2U8AuV<23Ux z_kWGDnyJ0U!l~cLnSm=?pWDI=Gph;t=|=wFZVTJ9&(4UjR|1&;W+WWy2O$Eorv;*J zsYPKXeNqOZm)MN;GDB`1(h0etW4i{4M<^WY{3xB>4tOs z!TW>daf0Y%0H1k4Ec(7P3{YjHZJ&Ci0qFe@tNm-BvayF*2M`*Q$LJtX{>lJXbL!R7 zmNFhK`4}jIbfUQnGdA@Fc^ol_HcK`Diztk-?%n`0g!293x_p`N(3nnK8ucMnsD@wF zQZSzzHAhRJw95enX!r~qX=R_wDT(stSOh2z7oGyna$#vZQWEcJZMmZYciDe>INU!d z-)ukO2MY}76)`qKJM7C-pWIof;5IxzdE_2DxN@)S(#VqEmqJ44F{>mC!x-^lQIeJHzf2vSLK zkP!$qt>F;{`@s$y$UXlfhZ{E|nd2riH|n+gtLN&%9eP}<95f+?CIGq?jle0CI0Lct zys&=9CfT4wyx_}{>_>Zu@3VVV8-8V9GdVxu9f!X-};dUQUVU^H>JIT}d0M zRl?C&R8MmPDio@s3PfEx>=^sGw?@t&!1|5(08v0Eq@KWPIumNY5Kh?|4?P2#rXYIM_ zXiRPP%AnL4>6$vqV>6|0WXF;Tl~hdOIGe?5uuh!$)v)T>1!bjF^CCRb);WR3B)rgi z=GvQ^zKAyZzQvKD;$So|l@1TmsR)>J1zTR}iopZxu9Dr)l+BgwRRkFo?#1K3q8-EP zH{n*^W$IXzYygVB>9qgihH!mW1TI8?3ayq;v!yV$>`CJvR-1npstI*#q!hok{xFrq zQzlAOJK3usqouCLozUTwP=g7}A2Zj{hbcXQqmXm^GK`~nr$lwi)Ez6Yo$*;8O@V!0 zu-mC0b=>az3>*Sd*}V|M71(-LoOD7^hS(2cu6BSSUnjc^Ig>{MJc=7t%sbY$cSOz#t zV)Q}F<-Fz4RG0k_=!M~e9r6>?v7LK%qbc^@&yTjhpbAJpIs)m=9+tfOg017y@zo@X z%7IVG_I~Wu!W5gadQ}Q2=Y$Fy4tv!PVgCwi`#H;IPbr2@m!|Nj^OX{3E%S=1fWJEm zp+SCm5Qc9J8j@;g`}K?Xx)jmp0opby+K}1%SHlR@Yh*B8cx~Q(6bIdNeTQNxTA3UE z7eNyZBX7h3Gev|^msZD-@x+XJalFHy8UQH;7rIuCk})h8TnE&Is5tY>c0|k!MiC01 z8}7Rdbkh`1PgGXy@PGfQb0D&B@^oQ>UA>q?tEj^Ze%h@j_O(~SyDZ+wg`ghYK_q?& zi}UB5P}hB;HYD@0@};-$GB@{UhMo#EyM@+iVW)U>*^i4V7sbMLH)8nj`}Z=X51>6` zVK6qtc7bbQeG4tDC_)V_MaCEbb{sCe&6X&=-c=z~3OqZBY4KR^P5z!2y~^@5#I$Q# zlr&ck7}!)tVbVPI1#ar|r+185v^6yQ-=` zoKIQ>P87xA>amAF<}NoHTAwBNDlis0TD|mzvz+}i=i*(=8j{onx3$>ryjA!2-7QNZ zMF@+hzET2Zso{eR;&v|HS^Y73Dz&8)zX&>*@Mno;`i+Z{M0Q zEl^8a~ZMjHPe|W7zfSyyE{Z| z@UD9@vERO%Fs=8SZ$mx-!u~Q`jY5GLSptD(!6(DEDFn~w2OoGoyVb`ogYWh%JNBRk z>p7m_jH}TOV}U)ah}EwIIv_>p#}1^#N+ndY@JN^Kro{AB182m*Kghx!)z7do{B^GZdZ2ZGd+GBYA9A?DZAuLDlcr4ADGEtSWnO& z-TM&;Fi+c8%O_g2w7viCt=b=)zZ`M5v`?rxvHP-RX z^O-T(1^yju-ahwEaxU-EHo7Ms9_wz+M>Axxm+g9dbQ{jnxV!bK8+k^|sE#_m>gpm~ z*@cQ(%h&VRF^n}Y-$0RQ?}|yQHokXe1P0sP` z7+#jU@3zUqDFyyBxJ|x0NS#NifVIQ&_KtR>o1#=1M^7p^&S4rp0Hy|P)o7YGLl+l z&dS|>fiYOVCuf#Js|UxRRuMftC5!W1ifldiw4HGc zg#bG1pR(?X1ys`+XR9Ts{=RvjoF<}m%Y2J|6EISp_W~iIK?`C2r<;O*&Ngnr6uoCX z(&}ljG2UtIy}=DD(F&WWfoh-~ErcPVNY7Ej!gqD32S0-+BB-bh)a9@{!$&iWtio^w z@K1jJ;O1l>9hcc;HKttG66HhJOCd=O{jAsihjt220@UO*I&aN=1a%PpGz~Sb{a!;hR=!rcw$TXq6QaSEKQgtM6wToUDjpw6PC0h|FT!$0f z$aPX_Pe*jgnih$l+;d6DbKnL7T({iQm*ung#}B;&`rS&=XZ8))xEIg`C9JQP*0q?Aem>@bL!0Y_(!~O4K^%o_2$nHpMsS;_(aQkRO z15&CPGM`gi`gNtk0PCc1!7SIbyw_v(!?-j)Eg6Lfbu`9>vuIU{;urIX&(ZzH#YQFb z3s1*RBMkQA+RRIXYacu2(+A@D=9VHsOsA-M1sX|K^kz6nuSeCJrHeUdV`M$MvfY6e z;6?UjMKf35xv#Fx{}$15s)i9*xfsxT7w%Lv8DQ&#CFr1tP-^M89sz+3Ie>0mnen(D zSbW=gu<_PTb!IizH14}JhIMLGmxoS z@~GQPy;TV_5-ybTRWthP=jSAgmhQ}e3sK+cHbaqR(qW;j`&}}Q{83(&u}5F0bR&V0 zcte7eg`nR=|NW6lTS2hT78mD3Rgk|meVTTuDL822A;fRLR4KW&%&Jw-lcTA&<@;1p51?Am+CX zeONLkn=*0L`>3DD*26;RE&&P^VKp^4DnTJLNGnnnzwGEc0>v1!yX;(^HPIX(cKqd1 z$lux72wc3A3t=FS*(skHR}HIxz3c=yV`H1X1M8ot+J7Mm+06c!TmI~@ysY_Iv8Gww z)azJaoF!BCeLl^o$lBD7eu0O;M=3wI;lXY?&(8c8bl;fMKTX?n!O6K?cHC`AVNF%Y z@i{#FCY5hkohLf~7heQZ`+QhCcttuzy~;pUVu^N6Ghr>R+*Syv_96!?&d5E z%{8ig)=@LIr5dK_B{3_>6o~9{QL28V!)sp4M6#4JzkG~Hu3(x^C!h_(ZA?I&ZS*Vq zQ&nCa?|wYP;)XjY{`)z`#{_RK@hr(U+6ReM{PWqcYYsBhXBCBK)*bzRs_u8I52Va% zJd&@G@_Pofk4~~ud)BHlVCzOh?7804p_yO&UUJ-b|CV$NCw_{s z&;^gzPSKzW6>xM^HjHDwA`nTVef*Xx@%FZYS4d4xw@_ljBZ9qycf5z`%P}#Cq)gKp$DnJfuHTzgjCbczq{MBF{=0zJbMZ(*eDVM zuCspm$Hl6^Ur`ft?eQ@)pmUH7VgkeF$*PoE>m;5-6}m_*;WBuRf) z7rol8q$@y}1EHf!Y$S};mZ3qIsp^jrCgb%inrfDI@KR!d2G3>^ja*&x)TnluvJCO7 zWAvh2QqVW#ADfvz&1_?Nc0V!h&auimsN!vsnX(+VWu)FA+w@x!t9s7M=Jz3+Wcb{l~`l~?1wZPuc+dxP2Ym>aIQ1Hl%ZmNjvv*NGhDi)+h@x7FBglheCo zbY=Z7VdEgBzL#J37U#aIphJ*~r~^xD_$91$M{l@eo=KNuTx{2Wk^?}=eCqMQV6M5x zxhu3KS-g9#qRS?VLXU_LGCo1rAhu1%lEwGGGN4j`BR605YEHtJOAf|^=-P&RWTX;A z#By`91AHG@CUh2n>zVAyWxx!0A{+Y6ul<6Hc>1;c6Ox%&mrurjgGh2@*&H`0>x@D; zVXt+}65oGtiu@r?4ixKLz`gA3EqN z-Bd{cbC7ljO19ac1e;D#KgO&{+ z{EZl!j;B{*M46E|Hnq}$5w!P#>UTCuy<}1zLHsLcuq#eDNBCpK@D|a*L>x8Brd0?f zA;(+h0DRxpJu!oh1TNHqyzqi<#o%i>cCIfgJQmUwp7!GVJmO#U_hYNLs9#-!#vHSP zA{Qzp6bk$6%{@wNaSl4q`@^(c4-Pk4|1FdZ)hR9|OlW@0LXMa3ncnwqZrRuPsp#(@ zwKp8#qm7_24j!IAQ~rIvN3hQBdzJnDyPO_{qh+`U@_#@(W;XW!JI3ZecLj$d@ch3) zyZw6g4{&st#>-pYL!!1H@yi28Pq8~s@!IqPUmwZ}$`NO(VTqcyUeCkK*>y$e5h|52 zdbb7O6f%G>*n?c-(Zl|<-1leU-wCym?^EK;mudd*Czg+!6n;LRXDy!3TL8#@@fCjp z*S~p4;ph2$c#u=0b5|xJHT$6AcpKBK-N=_zSXcV|-Q?@#AUlSFd@jIji1vN7gfp|}V0a0wwyay&)w$QPd9R!y}PeXqV2B z=tsdgu&a2g=S9=ocNZ)f%oX8Mb16#AXaZsf^G&?I4W5knf&xG1)Cp`P*uQvvpqT-Gkg!y%Hw z;G1D9`bslnP6#YHc_{g|@}!nT538QEE{5F;@}JyZip3R{C_-w3EOP~{FMOvPBNj0e zn^UjsrMa~OB_#aCy7k=ivw)Qic3$W#oLO`Q8?W%)8 zopYs4QECE7@@3pe8{cbDiGIxm#|KyHQ#nHT3%d0wCf;(dfH+d>I>I0=mC19!uc5e_ z%1KH5-p_9oFOJ>~yc2RhLUy2nA}-+|4B7}XE7Rfv{D5}W4+fX>*YkNdJ05?LR|X)f z`|AO`go%41Ic~INK;ra6M0OA|;^-kM;{y)S77AJ%qx)<9)C)Vgg+NyCdp`_X?3z`P zrU6H` zIBfUKH(>W5qw$ybz9~-3FaSym+h)#$c-p6}UDyYSi}5vH)oiL}0qYF08}XLG8GL*E zdV>+4k=vQY?TN=F`x@n9{y*D!rVoC$)1)-*^4&3cF`>dS+^+Bu`LKW0c?6SDumU;w zUlF?DIpIbtWs$%BGkoun=zX+k+!9A=g@XMvzX5yP=M;&=;^?f9-5q>mUK*iO^VWO< zZqnF4Qf-Ijoc3SWw%=`TN-WAT6<^VurTZDz_P#StbBTNj3k%hEN2>a`cgm0k|G zM3UZMe+zg}q1#NRE4%=Qlhw_Y`vb1`B~AQ&XfX<;2>lhT)dA5V#QtUGIh-JK)-RHkmd zBin?>B(L$_pL1RTc>^2cEE$i`qJ56lb^v9ErJE_7t*#&FBmF{M`x7Pc8J-&^i^6YL zj*?f$5237iTHfCL!jA?5w5M7Jsl>Lo88DspK-X32navuPG)^I*HLw8ljR`lg-^VzJ z@R(~?wx&P%r_PFtYMak{9wiEXXBz4c^s{k%sU2J!^~0InC+53hvNq6I=9zPZ`IO<- z5-gKZn%?D9Rm@X9#bfIhy_Wuy}LPmAlp|{!8^BPWN#t`dT%HW~8lUwB z?oGP-iJ$Q8hGn@Me6_2S&Xr{|=l!hwt2MVL$NK1NTHlBF{V_Z3H{1j;a0m2I((-SM zecGQ4&r9zI>STLj@2+Pw20P~ba2~jcU`^WfZuU4af*H1+Y8w!7f8rFW=jVO??=SKy2DC>Mvy0+@X)_ z%{@0X2ZM_&c2l~+GwhkI8yzzYx=Vha&3B=Tg1YV7E%!Dn-mNM@FQRBt)Q zt?!iQ=wVw5m5N(z6>OAbnJ`9q@B*hd9VeYk2kzXipxX6OstKDYn80du;XkmEQ{``B zi)-!ukHD3ITT8hoK5p5km$4ZkVylUQv(8gAZgQNMG3|Gh798a##csVAu>WFS3QjNK ziR38MuCk?sNMmt5=3m~gxXv2?tL4Zv#}9UX^4Bzqog*NNr0H))rsuuXv*U-|DH5A0e^E@ zpT9K!G0Z^b9U@wW^IP69I;1pMpv54dj;J zL87%`@e>P2Lg*5xw(1m!kcgO#7;%0ixH_{8MO0GmY(X5Gm_U4la3;wiB3^yHksGUd zuJsH2)SnazN)BQwuMlU*sh;;u;PY#G`@gWG*O8vD>+A1_M}+U^<@xQ;hid?M+YOn& zKcAo@Balq}66?00LhF^(lPrJ%tM!Q;q98TdWCUqu5!n}q?`swVLNvv>sKzBx!+1uC z3F5aV1W~g_fSE*=QL}8W==-9{))z-us=Hi|LsB;PfgqGP4fQQ7rFqQ-xB@$v)Cyn?*cHwVy z%u3vC?zVlbC~9&2nH&1d2=CBglR;s_wu3PP^{(>R`p88YToXI%dei+IdQmN@ix7F< zTSam8#vl8_V0G~~w8D~g4L{*p2vML#Cpd&I7BgmOctvY5%gC7X2$-{lU6D{!{c%Jo zhJ&TBfenWNNp{kcrhu0Q=K&W=R~=(91$3z~2Ex-2(BlvpcyoX~jeh5$E6SiH4@8U`*DMff3R!h11qkE z(#M@JG>%*JnRu-tk?89-3gMMiFa6v;0r)G3!bF^BdRTtUnt7t3*SYo(V<@2gH6o+j zwR;{qf~C+zxlyge`2$AG`3j7vEaZqbD~rLCFQ9RPq2iCy4#ar*1@Bh#^{K)P@b1DXH93DvjO}sF0_M)##t9D__nk-K1~wF?UX5D zBTnIsKYjhQO6=V~EgxAsk+;E$tX9M5dYiEH1;0W^JKPkTT2qk(eQCBvaw+>oOA@xV zBium;p^KY8YEF=vYyl)FGGQ`aJA%-5sCTzoB;{ z5-gtZwruD9(MPeiQ>CBJGNYs_Ju5Lp(o6a`hatwazu-8pY7O;yhPWPpS?V zTe|rTgM@V>8KY5Sh)&fldq`KzsjtJe6UyEGCi@N}Q}6r2;inB7U}SJ?OTyLHg%opv zX3LkGIyS4%HF~Is$pJps;J&l?RFKELytFTM14mMsIK7F}f4Z|Xbd0i}$o8Lq@m>?v zs?@Hj+TBx{DvWI2e1(!^$UCxCljGP9HZ}6*`w^LhMw=VS@aPkcfsFa3NaK{7xlhL8 zYtykri=6a5*7XB5(1^e>AZqimB}&Sk98@>O1&w5n9=%WA+$Az3kilE(&?>Jdv5AT9XgV#?Ld7XvxAlJ48EpG zQXBb%xyB7&{en21+^#wT)iCyDRJ8jODAgzD^SK5lAttj0pshGWc9tNIejEn&?CiO% z)0!{joV#TkPgtN2({QOpN9v`dB8>*!e1am%YFIZvxsD9jcNm$4GLDX)OAPN|#PI(?m?mPaTpYR!{hDf$Ye z!roS?aTKx#tRUEYl{RbX8Wc<^?_Oj3Bx)ARSk!@$|HK=C66yvcE$slPx&QErw z&c--AU)d(&IO2_tv8!7Qgb!NM^@F~aD zJIq{K-;=fjFGiRCQ_c&OT830Tb@VFMK|(_F!5FPryl91dQ(jL! zt-HOB7xNuk1eg@<+cXYaf6W4Zzs{D>Nu8<>Wk!4jR9tPcdTjD5HSxH83bby6!Hojc zuumlADLrn&jGdTk&rIohmco6hcR0@L3|}MwaX7`oY7_3g?Ej+boEpQ5x~&~Hwr$%< z+n3eW#WWPSPMf0%`%$0eRVyQnRMr(;(dQq6=$cF?F$a<7A&}= zic}a#F}L|;3@dpl@&QGE#RciIe4s#iK$*6MMoN+tKj=)6L8go#?}uWvOdE8`eB8W3 z8Fa~j-@V7lt61-7GcjVcvVz)d`-La1Te-rVBZ+d@1KMDFI_Vy1^yLlzeeKCy8SR9fO5nV-Os+d) zoKde)AybmvM9@Y*O8VH$6HNRfT&^IvysVCua!*w)nQa}{bD)ql>vVPt2N%n~kZ!<-G?0@(|G}uDVv!NZi?IMFUDwcY;f>ayq4R+S zm7roNOq8Dgq%p?`wPEio1}-Bx6DeqLXB4k#_i36>xA@*%eQv}`68qj=R6^wL*umw@ zET}7pts|kGB26b_`RWsKG7M)Z6^R@aTNJUDZz_Y?R1^&H>0mPBM(9-KqwrqIQlt7u z=O^7=;W}B=Q^)bU^d#o1xM@mpx`?PY)!XPh1(X}$A3;_RE$plMBIh_4k>bR%hfkC? z#sSlgqK#t4ySrEL`MQqus);4tl3|+8I@=r|$fLSatjImKm<)Ol?MDjB?=~s#Fd&eTJZRa3HePH^`#%TZj%;iCPf${RZDj4a%32Q20e($7zG^1 za)|i#(Ksw}jFOShJ2a0BYfN>WkGZ)ksgll~&hHUs$U1)|nB}0Cw1Qkj|S@W^clkm{>X-4_>RY*0Bl-hdqr4urjm%HvwEr zIu^eLrF**O*a-Cxy2hYkydSYpM}qel$qm@lLM_9;mimEzE%ir7M)EBk3v8mU@}?9} zBj<*$fAKLRAD&NzZL#@$1>oGr<3nly?hj{2+P%3KCc==s&-a(Ro%fxiD>){Cqn!>Q z=d?A28we8Odw;(;`8bisgALENM3MUOdmr^+S1Gk{;5!|96#9|UqkwanQN$8@((C-n zl7=YKuhiWjk%>BaeyUI%OCBMe!Q{eno!wD!tOCkS`7CnYLkNw>FmWnf=|{D2CWr!V zA`UnNmNGJbdu`)fMf{%61ELTjS<{p@{h?Sr5PHD<4 z!Eg}{Gdg#I_ljU#NcH{W@WFON$w<@s*Z#1#A&L*3?~pi+iv>z|*dN}L#EfZN=-(0% z27o|Q0~bM~srk9P$7;Vx<-RAP@{Lz);(%fTUI~U`hV@4Ys3P?bcbqUZ8gu^FT5E+V zwuC@dw$#oEcYG-QlhYp@>z|nY`C~rUdm`}ct$sx}Ib>>8x&rIw*aH7@D`Ks+Ns6#r$-LaX_jxN^Wz#5fsS3+-RUY*!aqQmQ~~i zs;cXwGHD#Ci48fJsXDjqpeo8DxHNCKco;__C+m3Tom&Xi?-BW`&izT_2t{6dgIH_R zNHp@QbR=U|9-dx;ORSjo?dF1(vTuHC75cd?p~8_>W#I}1N2_T?5@vvu1NW=T z`d$hhtN*WE^O0CRC{6OZ_4c~@hpxp&wn9N-iEgU{FH}>(nD|BP1z*Ki(8(f#t9is@ zOnj|VISB{)x5+BX^Bsb%x;dwwz+7F?t&zPEj2U+&u2Ig5J>ccWZX1~%-GL?OP@#22 zif^+~aI^Vjn}y|^-|1hF3mln^+qoP$6NdsTSQDzHWu1;YC(QYEJDQ9e3{%{OLNPm{ zX9fdK;-{e{_r{mHf+JuYkw^HU#HP{l)@Bt2Pcx_rH;UPN6J|CxBqR9!BtG4jU2bQj zmr|1=2jQ-G4oHvS@eW!MbXbvU3YAGXO%|A{N@+atHg)A6r{0H!q%-Evzz8C+AW`Vr zR^=9)=IC|mWQyU7U~D&E!*A0z+aOwRw4rA#;ASM&v$my?U1!Bib&SvOEvJi+Zrt?H zdVHCCdmxz4y+&Br=4LCTlkhSAr8jN_`;pm%Q>tKR0*sEde)~E4;AQf@y92p*uo}EJ z(%t@@30hlQVQ`5P7V6t;WjDPlceYYRMG12_)=?HbZVDPsO2=^+Q3>dLu#^Lb(U6Aq zJeKafESp>}OIUw-?3<_97g+OcfYO|SdpVc6rM#zxQKZt+L415A37ljxU*7~>Lt#Bw z#h*n#9^glnzfHk4ZB0NYH-ttJ2Ufcm@0py@b;afT{I{9~M$5-eOUs^2R@L7O|CW#! zD+0uJ(AqJ!q$1ntWa*hrAUHO;Pm35Xo!tQ~I<65P5BY>JjvqGX zo!U^A1EI&PITme2<_H3rliB1-}D*@GX;gS!$0JCU4Nq76s<#P^g(~ zG!EJL&)yPNIqM=crq2NGhr_GA`Y%v?v0?51HzYKt|7S+v;9=wZzw+wF|KXTA_$^40 zic0=5^l!_$NhHE2`s2aDsY~X+^#3`gPnVXbib``GkLNi&PMS)jqVYsbijtRxFFkhn zfb=nw;QRf*%ot_J&fJUL=U<)u9^mD{K4JoN2Q!m^oJHM_oU<_Z)KPLL^ zR1`OP(2yHyqQ+++X>jE?os>9J5}IrY3TAm@mxROAlW{eer@#!vkBnvS(Mwl(#H^Sf z90(ggQ-5!Iglz)X%7cVcPV6fhYFAlVTrhs#UPs#_5LQl>|0=(e49}180_s-o$eOx+ z;3+95+(dol=b$cNv1((APTUnS$aXg0pQ+_7Lt?Qd|Co>5K1Kd83XC50C-qOZ1p8DW z+F@2v#o~m%azs)QL&Ca%x+YG;Us3)YNUfO@Z_PkhJQe};i7_Ou2q!;4+PI!PtIHk} z(J{l{RuU3f>3;-gA$ygQVvF?c8BLBF`*z1#>dzV1?>wuMrDcsimewx2NpXt|vy{Ul zSaZ=l{E}T%|9oj}t2Z1tXLE_>Xjr?u1b?J;+9!F*srwc=)G+roq8>hz#(P0L7R&st z-vL7)psyF83S@x<(#oB}JMhh2;zY-nMV!5B`HDiIZIDPqwq>132#Dx^8WPDIdzPX~ z?Z*qU*2UPwT0HzRk#hoh0)5I@QEHc?kb5_}|K#Q*=ru6pb6UBn#7|*HBO|my;*19e z=L|*KX09-D>=ysC5B|gLU1)wE$F#mkpd6W}CC?eq4yNEe#iudlw67nIZbI)qj_0ZK zYQpDERf3&TMwJgl_;H^r1B?FcZhx8TPL1KSgq$|hhezukRbL$j3BrtL@4(pjK9`r( zYH1{W5c))ka$DU*|7VqEcc;L(^~w%bTGdTxa#d=L{8l&HwPOH_w@&xx^ZsEFFcQq? zG#Up`=)sGiqr4wf+&?3<9HtS>9Gvy&bnj_+e0|2Nd$1-!{6ifczo?8{ANM=U z@o(^sJkShcmU0GeI97_Q-r*)L8|vuUTLGtE)&$378qdK|QwJ{PBI*`_h2UI<`{JFz zLrh(V!F8~i^M~SKz?E#lk+@6*j7y+jIClwRF9o@IocEV;aAA5s`!i@zGxnJ}zU@6K zp}Hx(9N-Y|#51M(udCiW(?}wOnKzwv3ejHv7Q@c(6fcF)IK?upjsrU)Dt~6u{q}op ztn~!U$_dlntwZ{JmQAsW#N~zMDf=l9WrFX;tGfOji`jLwH4a4M!Zw;5M}A+#wWWM= zd5UoTz`3IM+%EjX@J|S+>`!-FQaUEvu>CU7__=u5z=p*6H1=l%mo$bcp4%K%$bh32 zPiXprt>T*BQ92a6oU~L@R1|Uwc} zF#Gn72t;ugsPOXMt6owG3`RW^AUj;#IQ7hH(vPnsaGk6fd++UMB)4+|9)U*EcY9?} zSC_V(7flS#=YEThNo<@A#2q9-aBjZOwpHX3k`iPQc;(c${k$|KsQofwJX|wahFEUN z?+!yU8+}LuR@PRu;qwEo^&xwJS!yP_HD-K&(uQg*d*I3N%1OA_v2#TN|M5Ms550T1 zLr(X{KZR$9Y0Ky7;tmOT+Y)?#IV1YIvP%VCZ-#-dg@d;%CMLU@H;+PYn0>Aqu&;3S z;bsz4*^Gf&8&EeAC_0%i;|$$WyYg920WcflZ)uoRnbP>xNpC5?E$UOyEI8E9ERvpGn|agpVYiR!b$v0SiT z%zRf`rnq|pISNQgyJXO_xnqsN5ev8HfAO1Hvth;Q7OI*_u34soo zr*fL;H#_5*IL4tmrrj%l4wciv4y3Erh)jb!@VQosa6}%nb|Bh@tbpZ$fgJ~yH7px$ zne@X&j$t%jngyfuweVNAl&4pDL1T0;)`Wc2vu~iclhBSIOv%DniKa5^h$`U) z0c4krI(!`d+%l#r?RmL~<6`|LcSv_alIdSbY&M=swpY*_NHGJJYCP!pLa2J{pw^or za+)uWo7J>YTmTOooufc+{<~m#l5%o7M_?tN0~EnRb;e-H)PSO<1ds8m+>F3*J14hs zWpYt`f_mMoxW4${tXqx@c_@9Bykc!pbF*cMZg>}nP4 z);i-|Vhh}qS3{aaI8#&x=hPSZ-8HB)hdcZ+N2Q8)XmKp{bkC-=|AxF#+a_F4CNea` z(=(?6tlw+nsHaSpTCj79dMW2w_$yEHB{5c{U% zGS^=l23`>4csrAO1=RhX7kA3%#Q9tu*JBE#*G3**r&t+1%zajL9fZd@2D5*mqmz)KwrQBG?9 zgC77HQ1V3@qD0)`!V9>^)S2DD8DJtIrTJ+?oe8M~x*-V8nM^%mhDhQ=e=>d|1q*sG zNcx?_btdH0q+_zYlcG!PRE&|23{R$@gM8zH$?|{-c&HK@@ z(%xDR()Gt2Y9$wnqu9EQUUy)Ad3%|Qlq^8}fnli z^Ofwmh;gD6VPooC2v&pUj|XXBOmq?R?u^i--LmGR)dhXbZW8O)p~_;q|6SXp=|6<0 zM1`RJ%xMU%&18MCiRQ)`D9&v-EXz+p1s`oskQE{}K3f=M8&&~#Ze`o=xaK5&y;0p1 zc;?lZXDb(}uv`f_yjtZSgt5G&UIfHy5xnhpg#0whO{yxT5eSf1+_qz)#HVg*9}m(P z5>0)@

    o=R(vW4cY&Nf7G^WNkB~q;lY>p#E}sVzuH*6rx?z>m-rGT_gIY9!C5ClM z!5xW6uTCx!O?V)8gmRdgGf}as*}?|l2c?&L2a+S7G^kHm#>!P9qEOiPMl?FAkCE#? zhQGyEoHJ}d$797?t=Xfv+V%rqrOz-nZmrp2ye+aXg~F@6M9+mn=JjN%$$taERUEzC zg})sAPA#1&sMjL%IgNGE;NHgSZ!ja|q+(ZMRbe~v^G_mC&cn69t+a4pJN{5u|GxL< z=c9*Ajcd+gE}cs_sq@O2jb-N!VlKD;1#_t zg}WxrT6(kAy0WY@Y{bw@7F_$H?4pm?LatIgC|uRa8o5wkp(t-<2Ldf}VMgvm@RMf` zjP(Lh@fD$Pl2s)sT$7>9z{H zhcVb@2>_=wQ7Bz+&h;5(=a@F&$`xe2VPM*6md@%%6K%ceTgpZYRq&I1r)0?D9|Tq7 ztINI{%WQ6*R{NE?lADW}=B_P_O*axvR~`+In=W0yoQ<7&l^~qryC|#BX5mhDX}R$x zgstizYO(JA^crBHD9m$4;?B*8@y05f+SqHMnBbm1XMDAW-H(FzQ;}%`|ISEn!$MIL z>8P6JuCj+NZ#}{R%(tB{w_R^gfo^A2tYDK;#%JUE;ZOw!;rL6TsUgyB%kq#PHUd~r zcjjK5b&qU-Z!WqE>T|onQU6$*Zv5;%qGPWI1EU{L^b_z)JrQcy8j+e4+iKLUe1Gly z^p!Qqw9c2E(<9{DVzsS|N9i|#KjDp5+f_9^*`~ZZt)>6iN8kVKyH{t+iqak39b3tC zF%aAoj^-Wqinhad#C(%H7oh*iPgukU>muF@y3U+0OxmD)tkjum2K?yfxp(p7mPcI~ z8^xJWSD^w-*@tsU7NuVrQJ9{38@YEx%W}m{^fs1GH=NpTlENe5la*xtSZ`@E- z=#fToMi~T=t&YB{S6Vmf;yy6v{z|gk+*`f7r{WmUU*b~CW-oLFcJ(6+b4vJbJ@8NY zlwv6L?m9=AK9WNKawdHtE@ZIg0bRZFEN^ZsJ4C?yn?jjkg$HX}=HMs;)kXJtzlTTq zo=d)2VwTJ2O7_K3n>^D;&bNh&QHrSrG(eZNZT-i+&=Gm&`f#F5W~C|A>rr%0rDTHi z(w^m3Sg4xY0Y4#9E)~vB5M$=O=DwLnV~Q9Wa$ zUZR+uX?Iw{04^SitzWwY?37a(%DvGKv^#)h3mEnh#fM}9L>qoR4P51*r!;44x3j3QwCy%_@sAn|oR^g8aEut1^il$ARmN67_1ND%ekr&-wQ8-Y6{UM%9r} zkJoz7tfP#W=0G#)vb$Hq4K%52$8HTRmK|d>OFfioOhwK}tX;=ci&b=$W}2Dm*?%2n zCFiBTh8C0%Q6iY(1bsyHB$8b6b1G0jP4P#!oAA%6TRDl1> zG+{?uEk`HCJ11F&{eXiY{&8l6>d74-ize}@Tk~j_)3c4_q)=YRaJSate|lxS(-Y%= z5_6~~jj)i?wCY%LD;Au`m3Pg_LI)9D@~i*xej@IHQ16vVY@m69l`bWF)9s(5i)XFF z@g6k4GA=FKZ$pD5lf7m&o}2ak4LiD_n!{yEv#RJ&z#o2^fD`)VV7|4$N9Ph4`1fhh z;J-ANv(DI!`Okwt8+Kn~)1!BucvoK9y=%~-WOz8$k}&bS*g|?4od?3I1~x_3Hu5jI zpLfREY1&8!UgZ=VvBH#?1cSj!);_`x7Qu$af^KYEOR}W|X?B+s{aM9>D&mKEc>EQD z#j;)&SAWEjs%v5*+7#~W0MLs!f$?yM%)V^wzKxK+X8JTC?j!n!yA$4>?-N~X)*%v? zdJ4wPjdr}&zuLs7tiVK150iv5i!;yk&7B|Ghv{kAUImm$lHYGBlR}BA1+Yj1C+?d%9FGKONZAD z;I96nMDUJMUgc}N^|YG$3amhq$TQP^Q`lT%wa-11w|kE)*Ykm! zEyd?V1gqN)*Uycmlc#?ULs?vUyUB45FCA9dx0Jzg8;7KWC$#q1@*&Ik>-n5A!`v6)@^+S9Xe{7;m&~yr+|KdjMWBHq z-kvD#fmH*<+-1Hhda*iO%;3`zxPg-^{%O?6W$+1oOEg$zv)PK%dk^R zS2lPJcMzlQW8TnnUBz!He5)+SqhGjfz!J3jb~dZ z$R!`&23G`53BV1fTNunbBWL$-J$gfGt@QpZ_s&7@D^FtYQ+VN{&b9iWhS!;t8z(O% zu!y3Cm&CuLFt?GP zCErniaK&C)ub4f~37b|;w@hYnYruqh13eE?IJd#00bG7|pGxKmxp+^nK4Rimk@4-{FQy}c$l@6DGybWef7eKuJAWb3sVx~Ic_DaJU#v`hPOI$ zQAtaa2OJN7zqvw-{u57Yt-LvjTNepYzxaCy(KP{sY7yBQ?&i0PsAm5HjqxLDfssx~ z8j~<0Vdu}43)z1Si37Q!nJWqK)6_9F_(OR^%`XB;TegDhC(fMA-a1%1f27hu7s;Nu zE4G(0|LABnn)@cC>rDQY$GkwhgRW=?orvcUxdvJ-7o21M;de~M1}D+(giZK~-p^jDQWy1N`9_*Ovf`VnPP}YK0 z3Hy**BD6rMZ60up$ffUSe|NbAECZm+Mz#is%&+T20)daG==Fg$lY7`>%5T z4xk^R8ITp2hlEr&Lv2TeS(p{#vtzG(T3Jhk_b$5tq((c}U%zCsKZ)#TG(g4n8nkuk zGbgbjH3nB2zV3fIw$mc4-K5HYz2A3))8s#3lZZtiGcbp-#@ccZ+8o$D+h>*KnfNfn zSBnt7@01wCsbb>;>I!dbfQgpp+qD1r7x*+cGx`5&^QX_ypDF+gC+mOphiz!u*pYL< ze|Gm63Xthc#h_88AS-%lU$Omy=>~U0-4(+B(%T*FbPmaWm^jyk3$tm`iROyYBU+Pe zBYW>O>|8+aAQH^^d+pqrceyhe4@P4)T{E%x$0&;M>)KAk2oO68zx&(ck zfFWUuBtss{VTHgU%fb$NHdUCT)jG&osez7(LO5tIjsUObII@xq*R}?h z#gyh_>Zder_J$G0J9Jiz3i8ynX?P{XB&o?dX-$!dI6-ofg?ZrPjj4T0+u*PXIpmc| zC~c>oe&S>ArCl7H76DLd0iHHBYbkOG%FtQ@!>i%~6@?hegO&9z5;bm6ewu!7$_y_)R)p&G!x2A8nYCxp~M- zcDA$K*Zt6d+~rm~Gr)qgf#s4~PBST~3JhuLKBP9)qnV#vI8!kaxF!laq<7|m(J zln~Ba$66wAywiygjS|g$oR%6E*d{j$&lxTZ=`#%;YwNd^@D#%)L#oxxqpdP>lyzt! z>WbB$WFSA_qZIz#%un>!c$%x0$Qjhtdbvi%FA-%ynr9F34&qrz@d)9N3wvjitS}s7 zpT2&q7>91zRxg!WqmqKqTpja_p#-T1W zv)A^yb48)mFnV5-i~aGIWrfp@2s(oN+NzhZEwimBH?cl%JVt(*Gou0(TB zFal&0m7QYquktrc8GuBJP7tbo4pP`oKaTstz$O-)VD}O;bnO&Rb2yvkj~xMmBL<_^ zir2?Vzmg^qKNIk>=)lCw8N*L3-i!c!oA-5EP?42|!N|9T{F9NJ-+iWu%^|&ylvV0M zdzih0s?r`lqk~>cDK@jRdZE)PAewA4o4vKz`bs|xBFgjF3^1#E{*&kNGc=wX!R&Av zcw<>!7AYLSRda1Sochy&i9=!@0VzM06o|c?$#mf!V<=qf(X0~v)ncoAXfEgu^L!gN z+K3+BuE;Hcq29uTt3z^citF*!SF89FLo{#^F2=H8M_UkgZ_O3#O`BqcU z-OjH@DqEkgR#XqtA*?LK7E*FRaQ;GW@3Ex~M#<#b;!}?OmrGnjXQKM4D>I5gGw*}v zIpFujB5=rVm=fgblADrRaAdS$fn-!8(aRt&Tl$_+QZQ#5e-Xp zA(9u$5MVIAxnG)dEBICJZ`hOE*b$^H0g@jV|MmrzesD&Fm~%>V*B2$f$h2-rrTYbP z{rdXkyVe5|>>SvcYCs2z*0OC11F8zJ|5u#$Kub0jp9`_;sit&~QiwfYA|72IJ1u>g z=Yk{?)U`&K6VWyP%Gm$oW&HJ&){RT0Jmls8FxUS>QEG!r z5Z{*vVzhtZMXv)|=j+H$&v`FYuZMTt$A81Ehv3zfW*(IM9Ps^kyuQ3H;`e6>OUi03 zz$XnqoJWzCXbZ%LCSw!+dguXGKip^cio7NRxV?Mnu?6Wd`S=JfH|ueb?VnF_HVO0} zBQ6{xcr3AYua#Kqk&7?OfPFLMAMs!l8*_pkYLA00H60}Y(Q8aHPd>kiH3%;5CSN+B z*N!ROEdNsoC>ZoFP@h(IX7_&hLVGJZlhwr8{9?-pGbTJX7n5O4i)XGKO0#HYDjv=Q zRV1EGONwO}F^Ys3LU(W(Uyd^rqPTOjz!nBUnEB4qAA>*!O@n}N#{0gx_cwsW&wfJs z$LvaF!nsDIMjBS(QanT$XzBg-R2~HO{I%O|X;4}*z{{aeGi*=>sd(ZC_9VC)6$;55 z2^spw`kI^4a?!#+EjH(G|6hGq<2!<}S>`^IY8w4rqa+-GhAR~#MVm?}g6T|}2}-Q`Y9$k8GLy4flON%RFxI3tGo}Tc1Va-M|13>g z&Z0kppe7LgnzyTvo*UU&woN)WqTZ&K z11N0ciaie3G2oSI776zyuN<;Iz!|QUcQ6OzS1jtXIOtg8J*3saNYJP&5xp&_;AQ{Y z73MiIthMcLi?#FaGJ^8YMF&x&IhG2iiA!2Fc{U^7a%)w~#_7^OudY9Is<=3SM5#=6 zXFmEQUm@@aWyT0sv=$}g3kdO8jsBFH1vCdAP?8!bJF67)+!wqzCiS~Lt;S`NqU{oY zQLw#8w55+u7DR(7G${C4LW<}eHP0x-;4f1bU|PR5rAfEge=;kvInfj+^pX;;q%WGuEQ6Dkfv3}5*8VmY5MWiX{xfxL8Nege zygyV%*!qxWvF*L2R7wSXWP-J3UT+qg`(-ZTaRoLbc7IND;D)6Z4YMW$BSo4FJ;)x4 zfnsK%k-SFj!qghSR(W77lVSQzu^648)9lb=`EeTyH+^wXgN}bC0pzRLBD!+B`ST;#4tV9 z9iRDat(*=y6J4{sOoB=xg50NO%sma4oXp%qj<}hz;@*r+NGaOv5otSQR(yj!qH>6d zVkzZ$L%}jKet-uXYc$ey)#9m8a0#q048g6{c?UDUDiljlSq3Tbk_1W{k43c9zA_gR2;oP zf8hpEp~d4HbgufWbw;4lo0<<1^vS*}3$Z0$EBIs3a&KZ`>@s$ZveUDqNrIUv%qrcZ z1Jt?ARB+c!mX&RoSv|H^f2=u>Udcy9jC@CdDYcr8-IYqD4Jp8beV08 zNYIUEU_;&!z!l1+V3 zvDO@X-A$#AnRus?yBdnZ(n_5;j*_^g{GPmlSi2fAm&w!5TPGtNhMR9zfryx z*@tZ4M?+%GO56#7mIT#$Rvq}xS}RV_>xeP)%OF6a>T3+)%S+y{5)R?KZaTCp@#!}& zpyH)2WODlH26~0MBb1(p!;O(k3tG-O9-=FzEfdz4+1n4U7L$S3Gj99J)X zLZ3$x~l_qD_?6kRuHn zm_*{ZI~PNPOeeFJj_2miEW5i#3X=@S$!Ce;!e%s-4$#EftzUR%GGk*Q0$u@Gf=Hdv zbyQ;Guj<%JmkD*hgIh7A1@WUSLM;3%Dz=Ea%ezsbe}BVCx;bF$2Wvl2+j@IbV_enO z82i45hL=*&g)rVCES)PuUsK)FrA@%_dB9A)-79u3k8P}UBla3X18=v);EsqjJc6s4 zg4f_fi{2mI^&fi~_kUT?4|H^D@Y`Ixmuk|6 z$^E<}bC44L7=lW6-2Std!P)B~3|o=cW)C>{y}#p6IU|*&@0^^jwDpmuV5+&5RCH84 zyU4|#=eWZ@K4H!HqRW+ReZ6b|U0U^7f*YSrNPA@;A4hsQj6MGl=$ zdh%P}U~;>8eLkPuE`~%o;&cuGN8;0$KS;To2bN zyD|mbuoi$3JvV^A7A??5%6NAkuE3RRcJ}o0 zDiv)pS-^d)L?Sk%WOKZr$9h{Usen; z`;1bG*QLd;!ev`yR5MYUQ$3{0m_|E8QeA2%E;L1DF<{pm!JHatrs;P*f>dQc&P(K{ z{cu43Lsgt&c7uV2oz!Dl&?d~%B3~D$7F;bM!>M-W5@HSwB;J^v_$?GyHi0@6if#0W z*sZ6u5?(rI6bKN^$;;e@eueJT*q-!jOmwHW9(kk9eU>6bk!i2M>*j@{az+cHGWc*w zeV9W>Br>_^oNL@gx!?{b{B^la>>A2UhR#Z}YmSoLriF;Ave>!Ata2mL=C~1_0+D7+ zyr+{vMV$C;cgR1bsQbu?%7Y}3P!Anx5hmQ@AFUeAJ~rLSPF|WUV4%qE2QN64tEq; z3(^mopR=<5+(sC}G%rP(Z5Y`U+(k;OH)iBLWQ=9KHmY4xVj8yS+C4ARTOS8&c0C?nZ#^H=SD*JUNMCO) zbAs>xP6+qc%Z|CwD?x$wrsF;yhph2gZ%M%Sd0}|5YxRAVJN(IjLH-WUe^y7G`!cFh z1qjZXzhk_UF~~rc5%)hUvR>b|Pc7s5R!!do(K6*K6R@{siI+^vV=;0zcSW7@SqCxv z(j)K@vm!QznrIaGr8|3-wCas@q7}tFI%FbuHnCSIEK8*xgSDEoG-(VTo-2l*v%H%7 z4{OR}KgbIK*~C~qdKTQUW3cx8usW;3x+W=i`svhMddL%niRBow*;V@*A-VT*Ezpr< zBw6oq}LwvBIThiD806ugD|x6c@I7ZSy=y)qfh3955WKN zd=qD+EHO*<(KP58te4k;E3C@05-}C~v^`ondRo@FNXLtx7n6HXHSgYy>U^mvN=j&G zVRqxg<5`b$#cHm+N|Q&lU36}BKD_XZjX50bG^XEdAA?gGTZvfi^ti~3+9x4D^ArsBC0Z!2uvY~ zz@PflS378g+n$N%0p4QIy(z$NAm&hK%vIE)-podaksRL1`EhQGd{!W13M_WwG=AxI z2w!SU-nmKLtWZEoy)dMr3+QxwKVUvT)EvecZ{v{;?3o0L8u*dWv-#>``ks>=7S2#sZqv}NWV;5I8{I9;R_|FqSDdxt zLsz1hIDAM)zcO7gc)7l!)0oD2+;v_%N!d8)T|)h6#&3pKVm%?d&=4XY)MGKlEQ?oC zZEhykYBHt3&DWIT>TY6JlSXtcC?Lwy^`gsaW)N3e%XKNsf9UY^4xo|F>-6Q{o(B~i zpxE*3xVy9Q%vcIXsY~?3vu%_Tq2e^Xy0gZQV&drLj#SpW%y@5VgTUX-1uyD!bV1Pd zEHUB>W+qE$(_$&sKus>06zd#^K7c@-A%kj+uFy2Dx@WxI819{=u2nrrz)*BM%R1Se zEK90oeAW2plvjTE1KzBW9tHcdn1p(10s?vh+1?v#6V_yQ5trbY(^NP%Zp>;A zhi8oUgqI??%_JKS7~`!>PoE3Js?+2&Np(%~CD^gkFIV(6-)W?@Cp-Dy2Ry;AB}#$Y~LijxYd;qUu?sNXY-M(&fSj% zau;#kANrG68mW}5qF$YRGV1wvQ>Rw2)V^~S7}m{zg{UJXr2IuM=F@vdu=-a!or7iO zAFMa7?UK^b1iZ9oqSl?&e@y=xte@PI-a+=Dj>|mZP;#28e34tvVTMgL+-X5>W_Z_H zwOg@m$AhunX5UI43T?bwEL}Slj&O^$yHi|E8+LQDy*O!4t9%Y2F$0Nw6@`HdPQ>ccUz{jhu7-C|V2DAuQ@nnPPMeKPWTx0_|As4Yl zI$Jgw)HNLTI|#s#G=+4u5_L8iAsf?O?A`74SDB9}bWOpd<6aCXBU|=_8qQE#;>Ajv z)A>O+=^c(o^Y*5DtYf#ezUtZhIR11s)k1+U*%(}4DigJBmi{h|)fZ%8b8*)amN^4$ z))nf92Zk1Trx4t-U^AwkWfFTV5Eqe*k#s4|+O(iJjWiuN*lb2m0_h!yc| zQ}~rT6&kel?BcLEP`<0KIp=!{yg0N{Os^hzkM~ZH@o#7l4su4S+!|ZcE%xZ)t<7?< zwdkYgZ}QXps=B0CJozQMWFL0Kzh@$z`euA#G%-dhLNDgq((_kDToPz1-W7j!#-|Yc`__ZEc47 zA*tJ;{q}QHe@4P^O{w1Xql>@u$7b9b_MDv01<1#_E9I5sPtxc?t-_p(_SH2X_8NVQ z7l80aYl41N!iXSiqiE(NQ>^%9qA|1c5+$wV$YMR6vM$q#1+$j}3b5HKFAf8uCF_xZFHuU#XL)&a-orMHpY>e!W+hd^{0Sfo5!AWm5;7Tp$t$qLAz`bO{g|bz%uJ|U;E4_GD36ELu;Mse{ zz-<-_-4@M5_NGK8wQS)8Z~3B?Z3W{~QTRS89oOcJ>l7Zbx?(FihuidDpZolTayUw*Knk=(slIJ(%oHgCs0j1_Q zJD~GE$$sqcTWK7{hN4Lwem`zBpxLql47>C6U{v0=1*-2&c;W(@W^G^B)qC^enba$q z)l&F5k9Fu|M{jEHni|0gKQ3H;Ecur<65zUd(H!v6aZT;aG{4P~s(FDc2oj%xqT!yl zuGTdTm5#!1U(;?qX}Oh)RoolOYgOwSMX;Zf{9a>xZ{>?9V$BMjyl*)GP`Ijp<|l_> z;AIe`<;0so*&5CNsOHpXnpro_UfMv?+Ay)T3%w{BI0Lns%#f}LZ=~?#8AyUtT+@21 zy=?|dEg)?@h#9b;4dANAy#CRxbu9%4rQ*|g)8A$1byq5pwdooSd4!{k!(~!wH2dMR zWfv@qDJw4cxbuD0o{@C|Fg|#|ys-H~%3)ef)K6z?YN5Nb`jzbXb?8c`7%iN*x!GEE znUvPQ(fJ<8W;#f|7Gzv(7>(CDe}N7pw#6hZ+0k>~+rURg2OoW{g0y}35@H#dgYP9+ z|5A}ksc76dp4atxI&$Nj&FX+e$o)Louv@QD#@;;H`XBP%GAgcT+ZROxH13VNySuvt zcZVQB65In#a1BmF2myj7xDzx;a1HJdf@_cl0))Fr_J5y!&b{}2eDA{>qiXf4TC-+N z{qsQ>&DE6CYdfM?c z?;<(eYXP(5s^LRf+ODMl9}*jU7zci(h5}&&4&!Scv``fs^-vo;g484) zGzfC47B?DUsum3zIW-zNu%$tJM~(K58!cSLN*&=D9#SfGCel}WTXoq!dIELXE_yxX zP^3SlT-yX@g&bO;9e}NfExtgPDa+kQ&&?>qjTWn-^+*nk0m#*5Bj}%p{3+q|7~37Q zg4X4wO`Y9A&TG~obr9c55pW=iz;yt&KF;*|K1G`JA+k*s_PpGi)z8~jyA;#wI}&NM zrCpM8D)6TR=%_{D`>5Bw3deEwfJ8> z$qcEcDsPR7MZN864lG5gVTzWJIV7)G$IDOI%nO-<1}wwbZo- zb~+9$jO|Jbsm38%LJrV?3nwsQ-XS_Da-KLk==Ho|`2BjXIYD>u=?3Q~>eAzG34)bC zrn#^{2y^5-U#|r<3{+$INDT}DsH1}v=CS*h6le}nmX1i<6M|}^(>UB$U4E{&JPTwQ zOgK1pYmvjO3=9d{YY}T{eR=YB#XGR{xW!ygMhnAiyZYd^CMxDER# zzvaM3J2vlei*wuM-CB+Mlgg|K9io;L3beSp0nhzcXjE1%DY1mMw7jGOoHFCxil{C< z?>l$&fwsG&^(ApSHSCWqd{-nv z)@$ZXRHC@B74O#n-I|d9G$%k&8eM%-xun4GIFvJ%8ioNFwEa&=;M@XVT*A3UsNs6_ z6F{UybJ%(S(?))rH10#-$pvZ=YAg*f;=epa@^4SAc;7NV^6Z#gn$KNxHC==s%a0<Z-Ddvsf~@RV4eEgx24?dyQyil zS?CzPpN*ZCXv~cwt>nSwvfMLT-=ELkz4N$}MQ4Nq^7s070!#@Heje@f5e*s+le*hfG zzwwQL8tt*rpruixr9I*sHQ+eNKLE$fNb?L2#F%e|$I6&5izh6NCk$+XB7-OVZ@2|e z<`Lb#eBgUFnN_npV&rAdE{aZ+gB&;J5i@2V=wn3~YX0GzGoJRzFit!V+W%P)Qfjov zLW35@#sz6(Zs0;))Y_b?z;QYKLCH#2+Latw8k_e->NpSSFO2;0$zKolcE}zo5g&Ka z_ChY!DcNN}iYUijPY{9naMaCFX z2|WNggBRs+AA|c(8cG9ziT%|i(uPB>CL`ZySgV|nc@{+AjDm9Xfi-mh_ktY6`}Xhy zZ>Y^*)U5hX)O-Yxd#kKR)Z`v{zxSDRBjZ`li-r@ZgwfS7Ct#>!sJR{h_gw$NI~o8( z{{aY4O%;H0Tz^pRt`_|fr6G?Piu1<_l(7vM|79z-KeqDeJS<=hZTV$K?0q>b$x8Qs{kH&Q zE&#HhE3ovIW7Ae5Ki?HrZYi|_D=&NBX)m~-KMX5c^Pv-2*nL}Q9(1qx`8*1GGAl;4 zN6w^r`+fC1W|eq4_?&C<T_?-&1Kb35?9JmkJwX!+J?OVSk`O(F-k6T*Ioq$+z(p~Y%f3AQP802_4;){W!VvQ<9&~$raKm= zC>EnpXY?_bKBJ_xBrmmaLA@LFurjUz>A3A{s;t1+=F8*tyH|U5dLzV@8*G>UC2b6% zvG(c~uTtAM$k-EggMV~KDvohD<@;XtC7l%7c|GI@LuO9L&DGSnLr&+fuY1`Ke#V{6 znWGg{5v0Ox2e|h8Q})CAR+u%*-pw3GT8{eMj6zl==H=DFVBS-ot%nN5{-J2u526;?Q*WReLZLC#eVzh zzH`{zjEp@)^nFi5j3rs^>YGb_^P!*+0Th)ihVjmE&y2T|A}%CY=m(!zohV#&>Q>8aYacDLvHaBv0reKRg~e~1lvI9Y>S zjZ!`AoRmOrV66~|`|rdh=OXWCh|}fcFJb#BKcZJ0f*p`PwkMyH=Zt}o zg%6A3#tP2~c}R9UMlFUeW2cK&v=y#)oq~DUbAuGQ@B#u)v8FL{lhI zHRGHE?ewcK|6UhOb6tmvZ}iE2c{MFeg1HnV94r{=|KhB=H!d6_(w{Uw+uf?w(FxW> za{w|!hTJStcLI+e5L=#?Zd2LO2CCmtP%^$67q~J0M8x@hv=!U6XN3<#DvyPd-*bAo zPLrPoc)%M%ITaM;L&vpMrxwfZ-QuHXZV$*FGzi?gHjESS2esQeApo!L&F|AcY z^^vchA8fg?9Z$xuAD7kEHs5}NRpoTZeHU#LvV*J`HV|CVw3nPXT}(ND8Ya02*Y*QqH8`EGIwl(hbS>3F=Y%*N#zq7ZdOzEz5M7s&t_7%0 z73)9_uyO`}7j9s5_pNf6pE%&Vo?o8wj8tGg>)Fv+drLF%>N!K9`PHP|!Ac^X3x}nj zib!1HLLk4@L&Dt_^H)jt{+aV!K9Fvyd~Iq4wt9;AgIj3nLDc4^tVHeS>hC29SG^4$t~EO z<|KVr+lLSw@eceBX zNPja>XzVa58yMAa`A}1UFV%u6@G9l<{#)HF7td#P*`uH@L7h6IWHvRFNG2{YK`C+f z4DSb*zSDw8zQdlUy{0Ik$_e6yBIE%?E)OGPv*J{|XjE|J{W(KmC!2uFh*mG_eGSZU2O>gVHno%G}P;)#ThWz(BAQ;sv-^VON}-m3u|_jbXVWssHB zdLh_S@jlVMP-fE#?9`a){MYkJ-;kx|ffcEb{OXRH;-tHK_&L@VnxN!EiFo(B9_J!$ zF5|Y?n-F0vrnE>t0l65kKF1q*_JHNhwaTC!{o<(pt*Cylm$?~INzo>R&*N8L^EG+z zkk4g*?RPAs$n+4o^P`xWm3v`fa;rR$G)M+ok9a@kRTU zvAnYz{>9;buiu0ib9wDqfammLTk?&FLF|fV6s3R2c}(C~q5%uf^HIaDB{Sjoc@hEi z-!c;hY~P-@QhpLgn{!lhQB0K~!`wRNSbS z(sa{VaK}F2YI^6|e`KR4r9$S4=t&#X>QaJ*!$F3(vf^2*_W07Xi#xu6X~seAP^K4} z%9)^G0s$7?idcNt@{o&%_@Gm6IgDyYwBvV-o zN5?(-73{&LrGf!Hdf)Tht0UY>GhH21oh!Kw$BVwxSn+_(;ONf5hBu8YNJqhC8~G=} z{zt9s*2kK@$xBEBE}u>LAfFHUN(WzH@eqGon)|7})GF9~j4A6B2Bmighns!wOWVFX zJ$UQ>DLvM>4H9$^=q<5TDMqvR+u0S}O~4`{QL5wDb$hNknb?fp1XItr>w=;OWNeS2 zs+h%?=xTSjNv<^g`6oxF7yVYnTR*F-7Ym8(5l zcVSBI|F%vL7*Q)WQ>reu6Vr{=5NL(oy=8Ic6n}7inl#s$dv23C*DL(>t)BDK@)Dyu zD~j*u9>0DU*}px1k=$a~8F+IPF}-BDgj#87x?k<|VA6TlV<-x;mV_937alkmr4USI z_5A87Z1{CxVJ>3E8{iAkSN_>%WBKq_V?$isR^qx$P>+Jur|YI#?Mrrbs1Sw{!F5pasw|OxaSzDkA@p7 z!W|snV?}=Rc0|w$xhs}>o|i8ZcmBrE9StJ_2N7f~VM^6ygc<{hNHRk0menE(t;LCt zuwoA%k!5BN@0K+(LPZDBj53E4XrZ#?;poWI6b{HLvm;s4pgzhn1e`s~+SAw)$y(D8 z5Os&jCXqx?^MPa#{uEktni?EDbeVr~t^qiInKsT8Mb~w(-e*_ON&i^K>updxHZ*Mv zy}JhCL2s@>I1nCh!Q!#L>Ca7DJK5|@k!-$NIV@LN5qY9&$9bYk$N4zG!{~%HC(F%Y z`ysy%-OUHa# znY%mqR$lhe9f}Pf<>T4p;snYt0n811S8)P?Wd|EeoZHZOuIPK&d0);YIppq+^La{E zJXlT-Oba^p3q;D{Il~E@b%{5`(H@E^{lnrA`5z9+v!HJ#GA2t4&xsZ0*`SjM==4yn zI}j>#6&@V~dG?gu;n@+XJ@yPnT^uVCu#IwxTu`8a#m=+Yto^G+A|udq_yHut5gp`^ z83g{mMq*DDNxO?thpxsR-Ybhk6k3gw26znV8O^f%vJzovOH6YdP!oAW0A@PS;9V8nP6Layo_FZ&poSsW09r=;ApjI4u_q=(yS2|W*OLX*Anvum z1UJk3W=u*#g!B$kTCd!{^a$xT4!>VUhD>Hi`8HNq^O5gYw*g*dc_D z6*LtBg$q7jK~1uHG=vv2AR=;*zJ>T2DD{G^2T>31}c>u9AL;q+QV#X7$2qe z8U{jL95m_%M4<;585ADGH^K>caFn~X^xsm)0#fJV-p0=pKiUHw81t|3+JDJuU}%q) zcnmzu8sP3^#|r8S!or47KvAgmJ%|V@eFp+Rx)c@SnprmgYPW2Se+26jAD|$Po8vG&o*v4&|W{@F(45%qQmjc{W8Ji)9(m&3h?TnJ+zlC^nEE~7um6_S{}ljO(e0I_1DyUhssR(@J_-eB3h;uKA)xCa4IBG3H66mE5P=kT%qlY$s^Vf#Ro0x1Y=|E8cd@Fpq12#+ZU`1gNLLHXs!6r=@GF#1ml za{o!ekv}O2F#el@|IR?l|DJ+?LO_H*Dg>k;Akd!_WCa`wq#)p2AO-)6#s5q}Hf3jI z=qVyP`D6Z}P%VxDGe3Hg_HSg)Ce8Xp-gx_6IE2|{ZMH)r??DI1FCLQ-3jYg40+qf6 zp*~uJ%K{z;% zE~oyZDXlet1=#7D=%ieL;vZ0f`Ttt;(c%A>hy^mxf+8Nefq+f`T}MDCgv8bZs*`>* zkuzB$u@@_euOR$?6^>l~1CRc{fTPch<46BL(ik>X)${7t)S4vsn234?{ovj$aoptz zPn8|)Xy(Ks`1b4o+SxW;&TaUroXWJA_U(>W3jZF<50?F3KRa(1_QnbQg54`0UY-5Y zXsyOd^cS(bjykd2=Gzvs%(Zwpo0HP_aNL6Jbw=Q5SpIgnpSA3~<9Y%?AV7t>1D`#G zjw7K9LAR1Y!cmgQ=s?8)Dke~|fQk)N9H8O?6%VNRKqUYwAyA2cO57xg3@#vno@Ih~ z9~n_JaZ`b7(V?b0AZCc5(0_YEC|!TaX;~U0=*n=!lV)hQ^0m%DvC4a0qQ$F5G=jx% z7Z3SoFOCWiM*E&D9q<)+deJ-AOp9}IbJ6H^{675cwJzG0b8>^H1_^Fq+w7To=Ih_T z_0x53bG48f4_b1vBIlcn%S#y@U`Nlf_#qLKbsExUd46MllOFd0EgW}{{xv(q^L@`b zs*0n<>r%x7yJ>63AutsY3Dgp&;niKvp#%imNp~WpwI?3Ou=n6DzN?+ZI3JFZKbL;- zsC9VBECFGb$^wQ>F~(@(ZRH}9)zKuqV*m@PN4KT+%@}$4P|;RJxFxsnu#2FDTc!kD zRD`U+EgzPcy(#-jn%cuO%r}tGeF5CbMP^qc9U#V|i!ri`L!W*`t>O+>ieOT~jw1bP zHsIX=h8B`>B0g(EI41oE;GIHCd(B3K^K~+AbgA0J?g6&?-h;NOlZw(^w7TS}~( z2XJo4V-hW~0ymkM`bAX}Ws;w`1WsD#C}<#^NUpBO-%F7avY)RJt?wGl&bcH%Sav*z z8jzm4iJzPCYU`3qkg>Z?)E0^0zcZtf&^slySh7J)tQ6BK>`SK^nZm+17`pL*?9;Eqz#ARiys5lnr^wsz5tA5y2_3sMRcZkx!S+`Vq*dEmhF_nW%zV7$wPdjPY2kWm zF=~I6ibxz~D}=~M*&_e;3DQofJFe-FP=SvDh-YND=0>=Q!59U6CQy_xaoisO!sF8ha0^7XXlvb zUp@GIVB$YL?EGN##~rAM0JsN=CIrTSV#tA+pmc&@n#XQML2w@wECkkmY&Z)6H0x5p zVQb;X!y?ddVW5Xo7|aiK6#-K}_9TmdYoX?1U{Pq4D46!Kr%V*+$>RlcW$=U1pir^D zy{%#ZV+1&P1h?<4>kU_KV;mE@nECQ>Od4j`^b6T37R7apD) zDk%f@h4#yW@t{*OU?S*=ELZ``E(>VM4b_qbGeF1X!Dtykg(k{@W$}2Zxv6y|B|&yC zZC!1gKsPy~a?1%-t;dAWtT0UiEOcz6mrd3pOdd)U}I|Dk{u zDS;^wgoGajB7`m~fhnMgO2A~8%3#XJJz}Wr<6iG$pPM2uZGK&ZB_o!qg@5y1vH7E-&MdA z2qJ%^pocQ50%idkz({(iDbRoyfhH*dgF;ln)KGX;z~x_60W$!5gwTCefaSC*z=KK+ zOohNL2$fa?^Zo6KQ3JRFJ*8@3en5m3H849o9~7hxros8+R1lZEou`*4;A38>raYLe z>76>51Pj_C55|Qi`GQHI>n7l4JpTU?P`rZBno3~4FQ#BzWP!(nP;(0~brZ}Kj06uw zRR_}RZu1Fw6RkNo44#x1a1Ia#ATB*u{g;l4g4_ickkrA@c$)L8!I^3ME94 zTkyXl>2|d_LMcKr~3XhZFw* zT1>2<%378E*d?4(WhB+%nKNO4a#`*kjuG*!fXwW@4zobR&foqb_^$tRyI&5KaPUgrjP{Q=!LaSX= z8xu5?RM$yTp}2j|su3;{qVf!1dq^9^i$_NV!kt>_p@nEmI7J0A?T6js)w9Q{OcS^F zdqphhh8{aCLyStd5HDZ-Q25G>bZw#~L@F=$91(cNA~;&=#}}eq3}O#Ds%%`v7p27Z z@p(_5@5{+M$aAh@;FaK&RIXi-ErFEHUKc0Tchs~~8P6WRBUQ?1C|J51s10`V!mo`_ z9C3Mb78k-)9F!D~DB$}3owUM1vEnRs|8?Xgoz<-=Q!zvOI(4>mb%MkJrE! zTOjC>HA$am%rMnL#0g2Gb3)Wnh?OmvVD$pgku_C|#Pv@RlEkVjWQ4x4vM~xbR}@y% zZY|a1dUy``i4hV1JtRjkBD7VnQ+%yN)nIBoQye1#X)`~+yVVtxYk9C zmUpjrgpD>xtM^o@3qEPkF0G1M#K`7>AR1DcieYA$pjWtOion$s=Q$wO zf4scz@{IlR<|aZQBSIf2h7RckjMK;yNDbM#F%nX5>aa}KmA=Tu8xG0gnpw?R`9AxS zYd6{QGE*c*Q1*mWP$<5U*O4iUfap{<_Sq9RjWDJF_*q1I(PwP)H7Ew!m;tXFqunV| z1E1IfH&FE8mc9sSBr|vlpP+qeB~*@kLzcKN=GsLSIEh7X{oCm4-Q>9VWS2NkP!~Q= zoMw%vi5?TW_i4w|0^MrF!}nvyzZ8C}e6Sc)@uYVRZJ!WKUPcke(U7TeJ8`e5mi2ux zAKi8zle~pL)BvVU3Zfei`et_eg1|p)ETQ4I4TRI8Q{_RRS&H+hBo)H5W^4EiY{9Z)lW%pdkH?tqzHZ06J*(VbM2a*(b0vjQ+Jd$$m_HyW9^I_ie)UwedZ^!BS$acNh2i=0 z>><(bUf?JMeDS?qC+CiS`C45fKBJ~B9UfN*?L!c#N1g`lbW47mn%{7%C#R1Q!B37E z*9|HiUviBxGq z7A^!NOcu_!tpkVUXBPS6unplimI(B$#0GN5!1o(8sRL^iYOrj)W?I; zvTlvMWqQNYkqTa;tupCju)nkJOMUB}I^e~C`~p+%o$(WDIHlaC~x+%xr3giAyZou;KQSm z;g849_0WHjxxn64!mv;}p@l~i#uVB>yv7Lg#8@@KpwHq@Ir<@UCgAbLY-9Qze%_md zEg$#(&xXxv%M39JwHmeN9(re(gHZ&9kVWS_(}1Q6vTwe&M8>Iy)rbBI2XK&-;UCsF zrFW%wC2$a(G*$x^7@G#`s-8SvtRx)<(+Eds$tF&e@GHja5>0ql1hW`9^6x;qmj=uI z+Br<;gSxgoD|$Mid$b(6BtAd0SbEryK8B#Ywd!Y6|B^H6FccgaHk@t<{SGc9>Idpm z=km8^WqmCOQq1IE;WrdKf+Yu18!j+4fAIQ4+af)*aX(2j9}1CT24pQ0U_|&+87`)w6nH<q^mC_IBYjz;K&L}7 zYpXbygqTP*uM9N5lBG5+lW}Sp;u!g=DXuMJYTebydd=0@Gi}+xgSl{Abpxt@%0ZJV zqV?`;Q%g7@Yu%{Ux|;Te;kQG__j;-QE*eVUW{U(wYIBfm&{x{BFVT~>S2%_~6%fOq z)S_?gQif;2kfiKeU4iJ%r!2L9*6E54k(1 z%pGg=0(^d28?D@LA#UlTBzk)V-TeL(drN6^^28mB<_AcpE5Lt%UT84K!(o7gSH!*P z_d;4f6XViBalhvN*zRDu!}W?v)NmpNhuFKeI7norU;)$}>t()cUL#8R6TXc0HfQ1s zsG_8Fr)<9#?FBK4ztjry1SIgIRR8hSlILB*`(-oD{Hd7vEB^4r+I9tNm;UQgH-9OE zZxTgRl02+YOYWtNbo@4RTK6HDU+5AO$E`z)4D?-xvjb1v6QrIe*)h#vLBc9MsO5RT z;MH2C3*gw8)GXP0I1p|ql)=$IVH?Cr$;Fy|+g{l=7P@*Ex$(AdG6`~(v2Q0_zj46u zA{`d`Dk_M+C-p0K$$M{AH32j9|{2w7P&+O+oqT7At!jIeWNN`CT$PVG1;m%1{jm;EfeOReAK~Fm9 z+v3%*G1?-~x>AtZ_uot@y&+!+vBdl2>(sVt_IWiQ^4f_#%<)kC{+DnLsvb%N zEY$@AVst7(sb7;qI}ucBx;lkA2`1fAzWW6Jj_>=q5P8}=#FMUt=P~Y~y^QN7=yyB3 zi4LaD-1v_*Rcbl02w+ZdjL2SUfS0BiG7L~ z`Sl5CU%Ytv_*1vcYHPXIdH%0%h9(%2;LWQ_N?xlnN>;};y$^H8Q;t!ZFOL^GMKi4z zD~6F)w6Zj6f@b1~?3f07}*jy`DdI_ja7Ox2NqduR6|@4q@^keGnncn@H?%&q;4lBc>t|R4^~b zs5KeVrxMo$o2`s5%zk~S4k)(;W?|arq&!XwBCoC-(K3`_mVTjuzq)1K^rX}kDz8br zV-rU-3RZDBmsxf;T`bCda8Fw-3(-{i+#50>k84Bu3W@*czHbDTD(d?D0|ogHZulSc zQwEl<`0pVIX0FE0JqF9@jq<*Sm}k1tghWni{P!{biKJK+{;aM2**LypAV}FT&$yl* zTtFOzgDNBaE%Pvv8Q#o$ykq3FZ|rn=oa_!+zmXT>5qz8JtCAxJcMvdY^aJ&jId%`# zN~fSc;*KNr;P9O}eve`fcqj3&VyL42;Rjnu!1nKjO=olm!_@QD^wAC?Nrh{gS z;>k@=qd3L=oZ1iGHz6wlG#atVqC}ra1WTe?UlV3iM<{-3gzX4M)Lq9|RW2o&ZmF`N z&kr#{Ow<(RBrP2*iifQ#-J(R#EK4oA*t|c5^_jJgW^PpPr<8XnT8_GD2kZ;BYdiB4 zFL3l-r1-!TP;t4GnH?H2d6umD@jcg=NY@3F-mg>QNLIc{;X7g%I&b@M`48h1Bv4EPFU&* z)orMJPPe<;5pi8Pccu}gAZgE5%yrDJ(=kf5sHWM`#yeIG&JP>v`ew>Z25?kYVGf#! zZfG%}Q2aF2mos|~4p9uMb_g^eyHMN132=!XD=M@w14~!OFVM!iMo45~xHT1NU30z& z@)P;aBq!0AY4bLMWANA}SFj>~GQ3mzMmb@-32A%IMx!<*^v3rzj z*%6lIMsejf9<-=5quH>M=uN%72>)ja$W~Yo9%sWByKnJtzeS)I4mb|8a`@;j=18|v zXlN^@Avy>PyPtJEm$WTGXnhxn5P%W=jl;(*4JWIn;njkkm4dfIn0A(+Kj2@#Qbsjbk@H~6@iA}(Q)vENVW7vY#j)8RH8L$69THf~ zy6@|geql$v$Tm9my*~cCnQPtXY%%*9U#*X8gtkP*x9!I8(5Eo|P04~cs)+M4Cx+B1 zuld6SW8W*H<71~Gw3W`{VE$AukUr|!*vldui$!Qi(;d;U8`ML#Q_&ATEW1okW5%Xv zz6zFm!&3C^>_^*&!A$4n)o&@^R>mRnxQ<&P^o$vrA3Mp)=NP7~CXjCXbgQl!HTAwE z7k(7wUUy&7S!rz&5uY;FV!f{!lmiV5`U)8ek;P91m~Xu&EQ8Isu(LD~Whd`?UbFCO za*({DRE+&oIGQ6Qly11s zPXqp*fR-#YX$D338mDALM?I8@*)$W=9%~$pWojs4KJdxblIe1TF7+W=e%#hxOREw(^$Rp z8B`F2y|I6Gc6ZE6gAgq}W{-;08ODk-3BH66)jEtuku`t!qK=5r_=N@64~_wIso}Bl zI-|3*x@XJrJ*q1RLP_Q{v0}!x?aW)z->lR{Vd)V6^NXKv7mV+WeC!$_tbBYoKYhcA zAzitl=@=+21Eo{=Xb@b#cD%2n6mUmk&n!4qnGGt3obdFm5H#tzxGY5uhPbZAojiHZ zV=wA-10wn?v&<)5)iqip2r8GUV^`N0+TzM`zLI>va!JS|cChH!{1l9yys@cA!t!e8 zTSDE<`v570N{-6UvEDaU5DdeSrcZF=Ok2-l-|1}$mRGV;IC{+a2*QWm~-Z$ z9dE&xSFFvaWG~g$1YgfCE}BM#)#G9a?p##+r6K$*#W`GQaAUMr8P}j-AF356O|qf? zxoW4|MW{cf12v&Z9y#V8n7P?P<7eKBJ9CLpq++qfRdJo%Kf93Hfz*#=Ia-10g~=;k zA5&^;UOS@);I*qMRDN=_{2)T3{XTyLL{vB$JjSfa@`*7bd|6Gnfnl8>SjlCWS0bwh zd_`+DWH}HT7i=z)^^NGpmEW?{NPJd%G25_t%s8_QhH`B(+&FW`o4Yjg&bh(qmBQ+; zWhGe(&IbD?Nr{y_UWh$u0&@C$m`}T7YG2_DBbm-+i}zI}D(xnXI$+ z(>5_ln^B<<7?Mt?aB;+)PmU7OYH}iwz^@|gFf@QSh;e6cg+dSnPlp_Nnsia7elD|B ziPy_yP=Cc^S4(=~w@YY)A6)7!qQj3>LKL+PL32)Dm&mEka3aKOrQmHP=WUIl!POPx ziT*vb@Ux1+=>>>sW1W*l{O5YIlmCYltwRr;E29K@9vRuR!Lw81M5!~1r{+pV6@RE?e^WUlhq7wHQ={DE0+;pI&rOeA~Pp>iHuqC*Le|6f&i~}JP-ZHL zpJZ|?-@ezI>Dx3iF1^rDhI`spC}>*0XF<2UlbBI2R=6w(p;hrManMS5dx|DLfH|>C z(y{%bOO`Z>s>n}ESjf8Zqk4e3Oh7~t8_qE=k;u)|wfspjdx=89%)!%&EZDvWAJx#$ z2}tjHL35(1?6`IihT6r`E`eh94yI<+6BoOtx``7C@K{BSQ8$b{dz8%M-1wtoahrPX z=X6sYW0&)f5ZfW0K>v2dIx}cSa&eQF$z_XPMMqa}Z4O!C;P=HnGW_bsFEfUW!p=|d z+4)$=Uvs%1$v$*4?uc!HQkTsHFb`-2+|aoK@bQW48@~rWbG1QDfnQ~*M0ZhEIxp>_ ztVZ!V3<^^Y>DNu?8;3ZzoH+x}6X1VRJUuZnU2%^W*LY$w zIl0L-2fKD|{weHrh1G!Czt<^AW9ccL1r^pp2e*?Tr8nq@J}%!ua@RYS zvy^BN(f;^3EpY-*TP|bOwe;UNva3bL@WT6YoXsP>s^b=uQvNfv>*(pgDeTm5zk#!4=~J_CU8CzrYBo=)j?1z&E(f|)4Kd!P}daBsqZDQg5ddk zCD5Q`mFnQ!{LUwPCo*79TI`Q<0cV!a(LP80mNb?xc%!(NJz*JnHmEVJLVeyn^|VF$ z+!v10L@HjiCNaljy}o-tXL;O;^CI=BOE6RF2{QN=v0N-noqJYM+T4f&%{Ku{K|lF|-$0?JV6~<& zKX3~?^wtc_gviGy2vw~BlR>~372!!|&l!k|&l(J!Ufz5j zW@vt@Vcv!<*OMJOWwLF{zRa0Qwk*prPKAujBC3|wo=%^T^t7TX3IZB1*pRx%7fw`G(8k5fbrH^_7w94b(2(cqw} z$WZSMhNB_U>?MUK;q$Jr;K?%0U}S~E&B#Te@tfxdDtku**JU2;OzmO|v!+CXS`t^q z9v-gNARbM=YwcGOK{W9=I^9o0v>cS!D?2ofl~5lTrjK{Y$(0!wdvX<(z2Iq7)EqqO zk8VsYaOiqRWO8d>+j_68`eGiSCJXFJLCIs@s6Vu{!>iqWtZSMsITY-wBB{jvJPGwB?22R2dL^&hgwyxfC*M1J_sFP-;r!y=L=y;3MdT>tatI z6fn*iU-)k==H9=Rv~&%Y?hJk_!P-t;8fu73Yg(;MXO`w6f=4R`#Y{r${-8gp4I);t zMq=#8>3hnJ@Vt+*l#rI~tSb(N8{Tmw<4LOXGGH;&P$h$0 zJUeEQ&U;o0u1|#jXq1HcIpkJ`|BcRbB6CMpzN|F|t6AK+ZMgSz&%sY+m)brOENY47 z{BAwExoon8s5Q0(88jWht)my{(;r4(y`i2O!!Nr{a&(`Y6ty)mS!oDWzulh0f?Gk* zfPP!XFGTSI5n+=rCp!65jh)EDf`-)~=Xp~~uqp&%<}m!QLtLgHMm{V$o?o~DPl8B} z(Vrt-6S}piRZ(9Rw%8y^u*lzh5CDr%i(*_^OtLQHb3b6HO0VD^FAU45+is_IKUeAO z-=K$67*c7%;dG6prJ13Ok+oSb?JiAo9)HP}lIbrRBZ&Sfnwz}1yIeHk8hb$kLQku~ zH&e<_xA5x1F;*@KWvi-S&31^OZ#awhb-KHtu6@X@rri+2#Nv#)G3vK>18EA}=$EfZ zydv|Sr=pZKS3_CHa@!4Uf;XEIasizt(K%}k{@H>_pe$KQXwWwbiOtrhj zTOKP=kD}U|*M?LiP}xsvrtYG0K?x$VhJH|r|c zagp44QP8K%6@OnIF-a`{qJ-Px7fgoz=+p-_C!`URl38EC?X^YN>e1_;#pUi{6X(>6 z=nZ0@JG4Wd7P%#D4u`)Zj~58>2hZ9G{9p)C49}t{bz2C;F&OpKh2sL2#YB z3X=#U@oCQa2caRHI_%a->%|bM@2WbqH2&l{I+dNF=MJm`nLpe)=$|pgoZ>Eq`De-E zwb4~0sIL?$vfsnD5=?(dR6ltbs-HR6dA_&vjjQK=Pi>#me~GkfQ!TfIjx*xMHC1rk zWAJmu3$n`LLHc{yUoY~GBQ89b_H)Bpp3Y}4zlzr5Qd=lSYQFXV)$#NVB+>PvP$%?u zc!|30v}@smmyYAhA=B7W>^ZlFoutBYuR?;4fB zD*Cdp8kSytR$(H}eh4;w=?;}*rAZ7%hx~StNghss$-+c}` z%4-ad!)6tBmc6%-{N^E81V_!*wWBkv0|ze8GD^!+9SA>1K>}WaAunNz8SgI;U&pL z3#fp**J-*ht_%AZZVVC#A4O%WMkhfs;e@zvR*Fflv>CLXO1AlWAia;9v@k^AL+CKb zMDCzxnk;1dho9UHVyGAwl3D-ZCqre9n3G#?1D^$Z`1{-g(Ct zu6c%LeK*BZfv)V(dMz#tP--{w#*6MMR7*lMnz`6FF)wlNi6<@N&S|p0VrGkA-8}i( z)Z3YyNv|@Pp0Yy^Ir%YowtueU-+E3tbStx};3(Z<30$ReEhM(vs0Q5DdKwz9If$nJmQsQT%NPIV0YZg62Xy86F&NT4W2gm@#5O3Ps&f zsBdLZAJFqVHDho^%Rgx?u<8-=UBkm9$*ppk9Ol9#YfEp`3y2*a4V*1^)I=_ zj+7cz6YEJ33FWa` zSJ&w#EG*fh({<`@=GX_)oDJLXl=uh{NCBE-9$Va=aXepp$ks%0xFCcZd=|sZBijB| z?cLT3??Jzkk6*>i<_zATM@a=L`EB3Tblgf#E_&?;gPp@`5Wr;!F;4QdHAN9{=sr>7 z%GG(|`(&`jOm&VK6-xp|>{ZC8kC*sYmzc{BgBhn3xkU~#l@|iL#`TJjb1_CHh?n2M zm5YUA1TU*TTLj;5#s*DU(5q?LThU3fX7DXDc0Yn-#rcZRuUp3;!(ZkX2t^j@DeWe%hL6!CCwC$nXEG~! zAcX89X;+KVC?ju2Yox5$5XD57Lz=Bwd7BT*R{2Dm=f*9}i7=lODAKhP=wWuFD5J5=81t{&OUn)&$V3#;<^^(c_5b4P9e@LQo-okZ z&c(KE+qQYRBo`-_EO+qRvHZCz~J*1O;Tq27B{T{Ba)yVX54J-fBt{mnOJ57_}+ z+<1KXR>Urgf{+TfN>8sUrVKDRBCsttN=3{r-ZFOc{RL(0$;MW8 zumk!P?aNq@p6lTk2}1p43QdLej{MhkdRcleY~_`w#X@Ov-O{C;1JfSYVX*%(SvYLX zM`9`OV?Y)C_YrI%dKSZ-NRpkl*1|k+2#fKQnvwMhB_U(7d~8_AmK&6j&sf@0-Z!y~cuJt)JmqG4A^Xa=vR2qMwkvS9A6aNUz{rB321{#&LAFV+ z_cL&;GHLIOz8vJwY4hE;b(Gw8Q9TkQs5;)d8X6}Xa&{vVgK{K<*5P8g4(Ce%tuw=0 ztjKD>s3ybi%JAn*X+nE`c&gAQ8AkGMUT+Tb{R9U@Dx9!C<|~HW+*Y5j&Ao0pZSKmS zDw_J#E^(t467i}bY0>hrOS<4j!5?{2L~E$b%%nkFx{ItAHCq@@3XN-W+RADl0a7 zN^XXMA636d^dcrVG!|ReS6a}VT)62GF&=&;Y#2A&To@Md>H8>^&Z9L0x}q44PE)gb zMi^xp*5Eg**KSe28{3-4jY@Bt+QbB=9+p1pu(kJPlcX=Ihn1jCZCo&m`c51ELLM`b z2sfCCP1Q=KO}-T3#&?-T4b+)v``Iv&prPEK#!}|eR?ZHV_(O?8Uf5+na-2uMP_Eis zH6t_*TMN%TO1`HZq7z#JBrv+?1lo2B0l7z}0&lnkA5uiPgkgxjxe6*M>;kqWn4!x& z<3Jdqs=*YYZHwHqM8~XU2~>FQ(0xiO#DoqW?s}sTQUvuLB{g%GcHxRym=+_0eTwL6 z6iz|AIk{-H7WDug9c7-2)cU5cv^F;KJ>^G(%2TOGxUIy2#%nf^FglAz*>#hFm5!{b zQ6(PpIcT=$2mSjoClk5W)JVg-N?3h+;csxn4da!#g+`A}#hSoebA?LWlUJVqO@?>D zpOZ6Qe|Rn=#`RU5{B!CBCH{8Kj~BApe*q;$DO{;lAx4zN`|Iv_GAE7~7PnK;T9atF zI>cPm5U0)Rh1fyjIIhhyL z$JS&P(3rFZ8fbagmFCXnxS4wq3Q-Dwy3b6OI{F`9owSvJ$=u%w>$)Pd$O*ji$ZqHJ zhJl z7H3tr8#00M0U!p(Y0rEa|X9LZFxwavG3R2Sq83GI8J^)|25b=RY)&FKNq4L-03 zRB`jw3i`6XZ-Kt6$(^d%>VzOHb+YXJK&##M1eV+ykG8$R(PIc_9fwULW$BsWAoO@#?a}wnn5JQp?0UU|9tnEd_`WE;rI}5NA%8$ z(dKP<2iXR3heyzCn=7ZeO)Tytn+}!e0*fo268jwXVCU3n5?OJ039ncDNHgKd7;c zg${AxkC}rigDZCnz~KXg-jYG^b#8}@;0!xV;$dpH3F^y#$}F#d`rabOYa{R4Ynx84 zKJc+QZ^B4QNy}z!;4%`pG zg1VN}n1IL>p|&%!gw47A$co_O)i~*=HuP9eI;1un?wS27Yg5pQztjatvl3x-O{8v) zp3iyoLPLkv5VURAekIl7?93UBan2ypLz&oL(4~IB8PD?6= z@G^nnA?ukiGRd_kL&#fJSnX!}9Lh0JkBhEiKT%|EHi{kTve z{zd1s2-2dc#%#ZI`zt3edHxbnfNCkYCcW!M-O7WK*DU86tiNDQ!KI|jHiJQ>;p@>MQ%;K@1q2lJPKgk z0xvLlw`AIjWius2D6lsX{TJ=IPW8-AQ@h7& zA@(Y^By9?QZs|2o)tU|^W(p4=;E|kuY}i#YR`yrjqm%btquI#l!nG`1bjRs^9}0`T zG6jUdiU^#x=hTZ{E&0M^tB>|wVRZ?~yQvcqg04?W4nusr{MzwR?fK}O z;rSH_Eim_lzKO)fgUg5VL!vz*R7C3?0k3y@lL!>?-oLn0l9pKX_w6cBSm>+oYYPyS1A-%$l+QeKVtq^hj7& z#w&yMCOmSeS;kLBmiaE}^L_$QZmIK2{^eCyiIj>ZWz*0^s6F#vA=4X%x@bw9hCCg2 z-=oUk#k1!!tYQi~gCIYgAjbygf_fsdZ_)PriL6}i1$(|---x;Z$}5hy5H{LfZtnx8 zKO(ef`uf7A!2IUcba`>DGtSS?6SLbdnw2c8+QD*mi(F(U{Ds#CMpGJ1pj z&;^cG$`)rdZGK&dw2NVBDX*DCT_Du{jvE!(5-zf4UhpJeZA7zI2(2q`^h@o3L-#Aw zaWOH0j zbGaI>Q7ajR!%9mTo|CyPkb`So5|j{9th(p-`uXT67A3H(3f9h~z8I{)Ak$Q9mY!Pjh zD*})sKuH4O8@Ho&{yd_edIp16DU)Mul0jK0bifVVFM9U%DEQTscAMtvqQ}vS{Miah zy^^!jV!x18@60SU|17qCStq-pk4(AdnW7AmG}=z>jv%y{bAHs-mCJCqL{ie!<1s91 zfhvk#PBKPY`$}7eEAqoNMFsCp4U5_G_fsQQARfZzx!s_@s=S$iqxa-G8eFF$x}mo2 z{9&-_dpi^Z!Zy5ZT2Tos*&MROq0$1Aq#iV)zyI@qcb+TRCH7VL?=d)Q^+Q}MQ$1_? zFd_Yc#VIqnoy!9{a|whQMe(wGTiZ}27 zkVXyq1)A&U%`+jz>ntMHdHsIJRuM1CLxw`Vu)CN>gbMza$*5hSx(M0C-T6uR1Q_6% z4-|&Va=@8H|6rTS6Mh!9K+l8(G!k>DNWe&^62gu!m6Tlml{%3cle@F-oUbF*krJ(% z!O19{W>e@_xva>urj1_C)eC`79F3=goqAQwmkk&`mUsYFx(C*rrev|b|3Ww=e$Y4q z8xJR9g2B3E<8Ahgo33Y5_CCN3aH(`L5Txz=NdM;fn3ZCfzqMMDlp2JZi!YNcJENN$ zFXS*X(42>ot&>o`59U{@{RenlvNGzkuf-f0(>NeZsQfnaDkEdiRBbsDWc^o2YiSRS z)sb{YE6D{6s@C|q!gnV=6fVDUZ+YMolgRXotC@ZGjc;`sJP{mRFu;2Ppnf2jl~d&8 z62q=r4mn%y7CLvLv61|4TUSJ{i6N8tY$LWcY~de*-}LVssKO<;h{&qEaOHra7@wk; zt9}*V(|=3})0tL=`Jey(XE6Ur@pY6(MxVyX=nYt2GQV2mejp;cELPXw3WqiE4@EXF zaDS*up8w*Yg!@)CCYmy+3!pkBW{fq`)?}|SEnnj}`<)b(bjWBt-dqML%GWL^qcrMI z-`A6A7qBLe-8H&LuM#Zy9PV`ws;z(KRJ(Z)UT()UK7(bC%~J<8>~^X)+;THag&wQ$ z@L1wgm<2_V^b3<(bx&9zW@U23RA ze}Y+C3+Qfk*<}n$Bl-c=T9Ze@I;RVk?3>Pabr5veUoa`K^(B)3g6SVbxw1VBo1SsE zhxSNR-1GpYQ*{cH1hk@VMUW9YlJ(5!4)iiyWpm6r`-rukX1KrnD1TfSsimo=3&ZdP z^Gi3)$k!je4}L@!ks{yJQl6<+=c_nRLi0P6c)g;_ts}^d@cqrP;lu)N#`G&+eVYiZXG3D%vd_pJZzN6yPCxaI>sMV`o~?Ttjl2 zN!D7{YvL{FJ1KYeI3F-`!5z2JG$%)?U!+bV(en1xnbACD9c9;WwYI$xl8qQ!EYh_8 znbx(<_hWGI&`U?+rz1{M9j@gW)N1S9=)NR7Vj>SG1UUP9%b(B7ygz>8a~IC-75GSA zTRYyK$TijfAis0G%;m|Z=Iw1EK*racBIM0A z#X|dF_C>VRTB`cbWYjSZhtd5z!7i<>{48)bO6ayh--;f;5t=O5% zQ~EVh%lwvcTYh=#r=^n~qZfEf|G=z<_~eaLwXj;y4(S+Ga!;SvQcJHxH6XTdPjABo z=QJgH!BJwz`B2aV$srAohhV(SxpVDV6{!KT3!M5 zK5SMn@lZh@)+xFq?Q=X(er798D0M{Pz7qDZ6l2i|qb4Bj7a5iQ(B$;-T^xLih=Jf~ zpS84XUnyp_Osm!QZBJ291x7WB{-wMp!3DsRIU%zkU7h#!Dsi{ZZAJM7pKaGV;LwEt zT-oQkXF_$L;m#@C`k^Z zm6{!4^Cs8RGEcu`7}0448@0RSdq~mxP7RS>wms&VNBC%m?P?-EoFtXTl&7ML-1_rN zWffTn#*c=t;B+M{`rOz2bGjhN^Mk)^dWTi zKyUCr_N|o6U~Kvn-entx*1f zaykA1df7O5{`DNhdMVeH*i0$Sq1e;_8!PMoJI!yPI&K%hjMDi==OvGfI>a9@4MRgA zx;qmh`vy8-s9I=BFNXB)eX+qFX9YVG`PO>zTom_R^lOj`=_l4v(>R5Bs<5PdVUDqM%O`GmEnxp(;sZ75OA7nKfmT}N^ z$-cye(rC{y@I+HK)%ALbFL@-W3zL=@`WVP6UM8Nn2rA=vD-B08`*c|Qb>~?qlrOEm z-$=HFtKvmkFFL1kgg~9AL>nv5N;*oBARezHdV4OsSQHpK@tqb8FLu|rX(*L?%Y^8K zQG03HM{ofo3E%vitGkhJJMWQ24E%6jh$Ax8;F-J{|A+IOo<4` z=4sKZ`43!6QU0$4Bc}^HA!WB5TeijP54JIA3UL)Sbqhof_AF=$Sq(Nf1UnlCYYJ)~ zHVMGS`Tsef;k*mhOI_lT$*26XtBa|Huj_Y7M}lF!vnVmF9C17p8fKg~ORsnz+R6`D zVn%6Y9Rpzt{b5x7p^ZFPRB&D~NgM(!s38|;b!Epa5o~Cjmcp&F_6-tH@7Ek)bNK1) ztHf^UDSP!yGmF=y{B#on1^_W54xRB7|FP&$Wmo~8TQT!{FZ5=Q(qPeE4@GzxS=b{g zmHkKQ<(+HkF^kSk(sJV7*Coca zKJr!^1%2C+l3E;YDsfV>mfMj|K($N!CD=3>RI->kP2TUAeXe(LB5*Swyf=G?xWjys zIFOGkKY>&zYHeTg1nKW=@fkbt)FDOzxF0{L z{mW9<3b3_Ax$L2Q&5*|LJQ0eukT0>}`^}!shq+Ql*Gu#QGumR1Ja#B1wK>02LRc8I z+mJvU(OYYS^tK_grHDA}L>^#?T{~wJw_RDjc^Gdv|9VNm1!{slx9&s~1v|RAeP%B0 zT^pz4L;}2hZF3k^P&nhOw5_9@L)86O+>$!3v06iQInWj>#K$6+2gXM(D)&+yzYmMx zdq^P3);P-(Q=Ik|@=W1UhcTcgWt%aCtq+Z{6vivp7M)s|*oHAe=VLK}nRLR4*MWdR zx}n<4lMbMD0x2rmB#M4k1G=3s{Qg)Z{i6;8zed|ak4ymcTe({~ zLwGp2fYn68fex6+?qBW#9LsYQ+I=Xc{wmsiZWCW#snBx9kovfhlEkJF&!o^R^ClC5 z{D-yb6JgphIJGFrE-`8E+aWb%XPbnduH7x3Ul%bJz~jf)5H&x`w;avwb>&`ZhR8V+UbRJY}ODS5Ah zU?cu`fIo-VKkSe*Sc}gnp=i}pt5OT|ab&z60iXsbhdw&niR>3a-5dGcBivtH@)BH; zMCwHTOK8xAa-@#m33fD^9P0+N_v0MbEYxB#{W2-GsTMtf))Jv*D7hzbaTSN=zYPVmi}X=TNU^ z0%)CX9^X9G-hB_Uj(Q_?bzk4yddr^h`uo-Rb<)#XNwE?aE7R6D{#Emb@crt6NWVjE zsll!51z33~YQ$Q%6qp0w#w;k^5x)K2m{aRH+__IhpSf{j!CkJahPf@`7C8|xY)r(j zplDo9Pz$ZQt+YLmcB$A3<^zkTd@3)N11N9{QsuLk2O6PqjkS}u;uXzpIDqVBBWv{; zI-qFXs%e9t1!^%b@-mBZM&I9XpVm+vQE25R3ep=QemMSZ$4-tdHgmZR-d7lX+vcj3 zdRD6^xTiib-*F*+X}e$AU!%^l+A(h>KuXAHj45#DC;D+rxU)n}bcu2*9-o=;4nSGQ zLZ%oKh$jj`OXEeETq0hxIL6Thnxu|*jfy)74c&?mjHU4zGo8pu&d`@}@=&^iaQKR9 z2eoZRvrXD{>hAo$#$=JEihrU|^2OuuQ+eiRxVD(1bZ)G?SedJ6fe* zAAZ<3G698g`VxjzL^CGNydN0eM$bjhvCs7$P=XIZ)HgL!8~a-WvQV+Gz&;pjioOVE zEZ*qFJ_wJvV4m2qS-USG)*+l+&{mk(O*%PexR%^mk+nvSv-XLdD`T=c#$9F;oMg9h$Q=lw?4#mmK&tMKqpv>tCdpKkos&iS@v_N@qr zO9(7C^kk2_8^-Biw}>DRgk5{VPo9GyX-gCzVd!ZD#LqZdY_B_VHPb##|=E_E9zqq6?Kzw zlX5fSrtk{UQe6lGWzmZaXK@VVHqa;8r0}8lpPVvZj0XuEn{M&O>W8OVJ2J@GQfQi-BT5(kC0KA&BK0Pm-WC=iFjp zP;ik(xrj3g4m{NWb@M}mGoFA1H0<{gOIFy!c|ln_+KgxB&9Om??bPRQf@?V}M;f%? zZSjO!IJr0)9jx?sF{1V?l$|j4upwc(op_&=r=bb>1;{YKUL3p+6;g6JiCinX4;?*4 z#g3zHQ2BaG`dMtuaD0dgqdeu{J{_nQt24cm3a|s-iiTIM(J-BU@e{H5OT`xjn0u2kdL&9K{&Wd zRM?F%6iNjYhM6%&`!3cJCQ~l;6{$8ov!;QArNN=zz{s}H1)8$J|Kk`cU&xnViz@JB z8uKIR!@hSUIm!(2Vu7R>AaL6Vb`ljwN)P$|?v-c?1Y<6mt-}2xM;9pzu#UmvqwH(k z|8VehLekIdgoRTfw2?OS;}L`*>ce!4tvqYRcOeCYqBDPwy3aXyDC1_+7iOGfIHPqH zd48E%ONGJ<_QNj~Fk>%qWDNd0>_s`Qlko-D={KY7@|p={CcM-QjnFWfB%H1C982=0 zJQ7y&_8nm`>?m|RXnsK3Xi%%2JDg8JvT-nPuy-ag)83sS5~8!IQ`^i83-X!?e6uLN zo;4&emZMPq1w9@>#5%&}Ip4S($|g+aq)nz*=gM`=buxS#U%X4-dpX@JVR;o_+$Ug> z*i<9u)8ecYp(-ci$u-wxU|IF*k%%tTYn*+QZxAz{aN|Z4?aH2<=J%9m$rXDP8=wYt zQlT+&H9=%c(Q(Hsh;YX24Ot9du(h~x3!Mo}ep-K$6@YSo{#x4UKKvq*^niF+x3ly3 zvGfK^KH=SPSVkjfu)0fknqKo91VAMt9&fcY7Pcx~@NN{FELUk!ts8o=v`}}jlo3#cwXhsj z+{KsY7Rk~8|E)TMU8f4GR9a8FgQW2<`$Zloy%@O?c7tACLEELH!x01t%W9)(X$~eT zhJJ`01J>`x0=rlnn2v>>Ih+kujd)3Kx#ne1fxve5J$NN=h0Ur0y)P11GngXyK$9{v zg}^1t)%5VM$s%5Rut(6OMzy=h;d-aL7;~MssLRp}eJ}?{Ds*vC+|ENr$oE-b$%HIA z``f_WaeMkHgieSA)Jj5aiE4HYiTa?|=@B&g>def{`sCeNoi%?3I`hq3rFjh1A1ZeU zevRJAgbFd8FgW{CbIBt65=2g=PUjRpLg(MeH1x|fdWpdsKUqs)0_x~yXK;pS2(wfQ zs9c-rO*r79M1!RvEFkMB7fHN;Vo(HJsGdU|aAw?eT>mn(hB~Q3ipKs^u5s`*A-SAb zQYY%x7dc@h7=kyc-#IumL>l6sXxO9Ag$awy{0da2b>cpP-%%f!&($jTj4v*eX>R>_SvbNf4OG$NrF`3=r09_05m}lRm=OppNqZalMiLh1Ojat za zetZmwSB;|6V{~UJCYPH7rpA>Wp2}RmTTXE};k8ZleWJ4YZSTwtTA0l^ih5Ma@SOPN ztEb?Q+LBF)Qtw$!HfXmT4O5=`CJl9xhCs6+RXTn8;6tqV!b;V zXI#^k3Y?P&kOwn|0{1^(?++<79)1q}RJiQ=n}O|PfY`jK&x!&KKnCUUiJ9#MW;xb7 z&NZG2unIfu?Vp;<9@oC+aq#tHYj#n=pd9^4d|_2Ogkgn_qQ~vcPkwc zX!X>j1HCMfc|%QIl*JI@xsaMwQh(oFkHMk*9;{G(IVRvG{r4N#x!d6;QYaV7`iXgf$rK=J`3upRo=^W7oR96 zA~umWt!UMJMD_d!8jVg*M2$-x$gvGv8avb9S#_wY7Z869|3e*2NI;Uoz?3EV}Yf`vWdvNjIY? z)q!{+*f=~}e!>^Z>YXu46&+bEEO)XN%KCvP_;(9s@}8k^GvD51(eUS`k!EKIdR_iE z)X+kh5-tgCg2Af$gTtD;*n<4!`4JT*xD{q>*}(HdKsrabV%v%_2g|aE=p1ecY%S!z zxJDF=VKBWjoT3{}q;YTdZ-IfoX3)Z!bQh9>WlR1>G^ZbC8-j`?ULjMiH|)jP44y6i zgAtXnANx6r0h?lk8cIJ0=n zj_*%1pmW@fsm~$o(?n|-R~o5q#(UWnbbz!G!*Vz;E7}!a7h^-JA;SW?GIccJ8mxK* ztPw}>;OT9L5OLrLdUw`j#8(7r*6)ZosFtCXL3VFe&rXUe;24pMWRTcn(nXpj)UX+o z25L5lF3uDsOMvL#@aO!$ApsW-O`xX75<0MxDg5OKFYOSTX6Rq#4BI?Mu`HY7E6rqr z<;76n{!z{&M5K2f?MBZeG}D;EE+COk8DH!vtp@(HJ)XUaLgAqBM0D;OnS$WlK9z#w z+&wvtufnYOF2hFV4@az@9)9cslIgfIYKiO;(rT&fkTPFxbdy$u8h!Q}@6FaQc+P;E zkOi|W5!+-R=A>x$v}jr_@(uAS`R_p%Rc5`g^T!6y$Le>u!3}HUn_UvJ6SmZAobzCd zZDw6mzGED-0t@B@3ubV(e|~dfxi&*6l_6fyx4fc#^DiwN`hWQh)P-Xstzp)lB@Mlz zh9h*1wo3WjUTTD30M^>VWImvCBfmm5ydT$xNyPFt$_>mZy#@69o%${2*EOQ;T>^OB zuPvyJVvYAu?U1Z>WX;8wdgk24tC>c~TDqEC+p91ntTDJ4r9Q8wmESAo=QIbWd9O~e>de*nn{6kaIwzQw5A+q}+ zCz;7K*L!Y01Bzk6eQmKLD3bHD3BmERVa+^)_lgQJSc$xID&H+$S`m^e%de6)DGi$4! z18tq1@>-Xm5ER@^U31@rsX~p96IV(HJYo7nH4qkBIcOwDhIOK<3IE|qsBm<5L5 z8}Nqatw{RzB!EU;LM3wg&8Z;=je{wN)L}=cytv_?&QKjg?j-(>q^N|$vk*+z+)Ui* z+L;5!go8)@)ILNpqWs%?DqaKq1@Zy}MbsES)GQJeI?4SqqxaNyv11DNuw#rfmz6jW z#lExDTPsgi>NX#jBWrNvRw?OsI91clva?~Y^Hfka;Q|qVr!zTHHZ0i5twa%%!gTV+ zwx>jzw$Sy*{h@cBMZ*SfQNd#BZWT|E`D|m4HvHN zfDTv7x5CP>=+;_1z;Ilv7D|ix@3RlZc)A zIDb~5+@i(rnRg_7NCT6Fnr6gvH*ckeI(-RzVU)cwbHb$`Cv-@!D(wKPMizC#ueumLDC`LCdDv+1hg70y)ztm8x^RFz>V)!yy|T_U zi=i2x%}f%+kC_Y>EU(nOy%0EF+on@MQ-+}A6NXYg?G3fuwS)rD z^AXI&;dg(R2J51*^@LjnAc*trwrqpo<)fd6G7i}HASxCLY)h`f6N(cJ%U_ee_NKh! zY8VBJjEGN&4nA6s1QVOW+|a>@VVXkJqZWjI1>?hz9ExJIAm@j^;D3)z;D>~ajnE#c z!`dgq6hWxt`bPRF@{Sgshh_SYU@sXEz1o*K91LQ?=@AD9Yb(A}bcB%7?Q*f&nmT0N!%i?t9pvfAnVaMs+M zB4oR|+R<(pmD2SMvq_;#4*Jk3yDkuZxD!_>N6Urye3-2-{ zBLN72-o_k&-q9Qg;TA+_ArS;?Arpk_7WInUv)@r1Ah@<3fLIS|MZaON47LsJFy=Fb zUr+EtCk*jS0D?B~a{%8r6ulj;P|t0jfiC=fvsQb&@sf#y#=9w z?=VVE@D`~cIA45CzmGKWC#ox@QGf-HAoOG?;BPRhwc~Cn;sr`5<%Q}>_6I_Vn9x^q zK&YQ^AOIh^*KnY_M=g}8|0=$whwfiraqT&eUk6 z*yC>n3z7Z-pC( ztM5kb8GhH|+UXYLoxo7!9eVitHSO-vwZ|<5H8YfFzotF{KD_tqcTA575Z$H_6Zmkf87DC z@?URC$tO9VzVcu9^l6`?$RqbL)A1)n9}sCijcUbAXO#0o&!B0apeZLrnH2L|N30(o zjI1BtjQ`KDtHJCQm2p1CADEzkIt6z&8zWu7}bh1(6KEtO@s;Uop`05Y%=Ay zTSEzaj}#(2IARr8W5Q+5m_|cdX8QLXhrOiNsImBK|6Sa}tHcM~2E(5WfE*Mgn@ZckGl``MJQNp|bg zJMd-kDsj1T?lE_7(|z1y$|J`uEws+0+Tv5^OgYO+X0lZ4V-lu;tFp!skj;`z6m$Cv z2fRgq1N4-btlznqit~@*wCA6OwDojU0G{EgH21ixQc9tqZ}>)0#G4N*L<1Rf5%JbMtOy6L9R~%$SsQ7}M@GZz%S6 zgPch+xyhOuwqea!G-rFv80$r|R=~x)p~rdonsW2x?8s)vS$|B-O(L1U;+{vxGfMvP zpX!c(gfg1%GowDA^DiUjI)6u4gDW=Z>!vDA08~%6-nf;9m50K*fZGrSk0EUmY<@ZJ zZ8O^@-K6a))htC%T4~36qgpmtS)K?9i@JKB8(jv>nQ>jrx)3brm-4R*+FYWf;vmYNN8vj{2JO8rGcFvi#G4)E(gN9eh`#)82*^|{&Q6YLt$OnhM z@9*1b*`?wo-AovT+$&7o|5;fwf9!0Ua@t2Zx5f`M*WE`E~X+ z>n1eWnx|DW^KV^rJo!710KN_(5FH)R?T=lR%=4uRwy@#7dpCJP^Pd< zIwj@})rU-Ej$JtL-(C`3&mP?S%DWNk_HnoH*fqO&dP~|)gayPD6}kU2y=Lpg>)o(> z>wJ13&zyc@U_i4bjiyPUbNl#dPsN83{os+F@C#W169He_p_u9|kptUIo%tdu;7%Fo z+6R_a@eyx1jU0Od0qVdw_Cby)nVU?_9M!Yc2*>^8bAHmbXWVqyIf~JO0fy(9R&;Pc= z$++zn;aC+4r2?*3F%_*!mxtqj+E0)V4uFsUX;=J;t1|4m^?Y!8I1RFvIfF@FPPsBe z{pC@bO>)1+)?@h_zve+1f7tTlwwe#6;$D@(ULv1OgAm|JeYUB_k{Ak(B5r zCuh?-fZvY>?cuIH&_`HqF}Cpd-z0(^_zFXu@IV?YawzbXdkL70ebInS)_&vt5tB0F z!BL+E#Ur*{w;tb#PjLKJ^{fdr3ye4I0YL%v>BO{+|F#HD??vdpiDY^wA)JS*nua`C zWtK7MB*TEc{o3Aw3~IjGMe~9esf+UN>%=kv$L~pvYmG<_h)z}t8LWkJ^=&2SZ;AN5 zbr?Qca(WsqGFT_r1<1W7FFz4-JNOm}L`rzmHTfZJhHIT7K=sei^r%?Ooy8rN&SOVO z|N6EoDR%HJAE~ysCRrHzb(-odie=iRb_|uNzjos_5O_n=7Y7n_x zW(pWmR5y)C{zF>?TZN;7>(XN?dJ!&-v8wuH><{DbDq{9tS>*ZTz>2*?JvM%7zM8EI zyC_;P6YEhULec-N&(}g`<_D1&UItfZUN>4VY57fcK|f>Mq-toaZ{0lO%p1 zYn*D^KH;G=M0uw67g>PFL&*){?Ow@Dx#m29?MHXztM@HL^DgSlwn2oz`OTSGlV)eZnSjp~n*{d~s$EES7|Sd6rGAQ z+^ibnJ76e|VC>2&y`6w>KZjr~vd#46RJ z`!g-o^V+r8hHI+w?lYyVIL|BY&+Us8BNwWb1mI@T$dHHQ*01EM>_O;pIrdh^R_pTX zIv=vT_1CYVUM?Ze%GaHe%Qfx-WIR8$1fnpc{VwdED-5m6=yFvwNM?b3=CUF;(YO389*xwlz8}kw ze}VdNxR+Ef1ir83hTDd}tnNT%s?Oh+w)k0-O4e$waE;_U2D+|3@nKQ-Keo-^gKkvU zJoe1jD6i}zd1c(QWY1=O1Bi)YP<>u=Ev6uGL|;72A3m-eLQDR-?kgz-5x7cQ_|w zp5OB|tLweHBd=<2JZ3qQndYVLShCu2m$a^h*$equxldag-klq{j0Z|@{?E#~!9X4J zq>($l_H^m-$+5@Z_7%q9KZ-3O9l+h3e{Jm1cqu6%%0Vf)g+cs<>G7GfXKMzP1%%R+ zloKj)XuBetdjx3br(tA=is2khX`sc6hHCYe)x9-hWJ=R=cgG6#%+Lh4cVjKjU?!$R zg z=aJ-*ln`R|TGg9-q^vOEXcN`1)+skK*EZ>#aA&ZgTnanmuzpy={)<=h`;VDBXMcKB zf5QsaeXSm|_JCbbFEw7nCD54*`p(E~%+dTrYM{$2u=;*7duUOhFzhk9)v6@d=y`%4 zT0}ZH7iXF!#`@PX8ro4h9X9m`8%Ik#-rl7tmKMFfevyOYkG{oJl+YR3qk#((LhM7o ze~n#Z35IX3fL+OBm3OurvNosU3v-fEamdAqiZw&UUR0=R;jf2#9lYunMjrFC z*0+pmk7p6}q2(<{Ala(0tMnnw@{o|Y)Tywz_li5uR^dhZr>NP*DZ9{9QfA_D9$WRpbM;lc8N3U7Y-nq9~4`;pYCthfQ?aD<5R}Yep$3EZ`6AIQT$oW zkJllI(U_v7Il5TbVWJ#~BMa4h7$uDPA)zoO3w4z6s0L$L`e_?~Yu1)Nf;qB2`$*3~ z%)MVjVh-$gMroJ{9P{yMH2W1!3@?9-jRPIaFTCE=pY(r<93K3&uKEqrl5u%0AbnYY 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 bqm!|NlbeH?Imt;E!N5=?TwKzsG9>>8mKFH& From 982d804d912b5c92499a4687f46b89c0019c6b19 Mon Sep 17 00:00:00 2001 From: taek Date: Thu, 8 Feb 2024 16:51:43 +0900 Subject: [PATCH 37/51] changed test to use standard message hash (#81) --- src/Kernel.sol | 5 +++-- src/utils/KernelTestBase.sol | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Kernel.sol b/src/Kernel.sol index 25a94b18..890214c1 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -28,6 +28,8 @@ import {ValidationData, ValidAfter, ValidUntil, parseValidationData, packValidat contract Kernel is EIP712, Compatibility, KernelStorage { /// @dev Selector of the `DisabledMode()` error, to be used in assembly, 'bytes4(keccak256(bytes("DisabledMode()")))', same as DisabledMode.selector() uint256 private constant _DISABLED_MODE_SELECTOR = 0xfc2f51c5; + bytes32 internal constant EIP712_DOMAIN_TYPEHASH = + 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f; /// @dev Current kernel name and version, todo: Need to expose getter for this variables? string public constant name = KERNEL_NAME; @@ -288,8 +290,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { address proxyAddress = address(this); // Construct the domain separator with name, version, chainId, and proxy address. - bytes32 typeHash = - keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"); + bytes32 typeHash = EIP712_DOMAIN_TYPEHASH; return keccak256(abi.encode(typeHash, nameHash, versionHash, block.chainid, proxyAddress)); } diff --git a/src/utils/KernelTestBase.sol b/src/utils/KernelTestBase.sol index b7357b2b..8411c6bc 100644 --- a/src/utils/KernelTestBase.sol +++ b/src/utils/KernelTestBase.sol @@ -15,6 +15,7 @@ import {IKernelValidator} from "../interfaces/IKernelValidator.sol"; import {Call, ExecutionDetail} from "../common/Structs.sol"; import {ValidationData, ValidUntil, ValidAfter} from "../common/Types.sol"; import {KERNEL_VERSION, KERNEL_NAME} from "../common/Constants.sol"; +import {ECDSA} from "solady/utils/ECDSA.sol"; import {ERC4337Utils} from "./ERC4337Utils.sol"; import {Test} from "forge-std/Test.sol"; @@ -196,7 +197,8 @@ abstract contract KernelTestBase is Test { function test_validate_signature() external virtual { Kernel kernel2 = Kernel(payable(factory.createAccount(address(kernelImpl), getInitializeData(), 3))); - bytes32 hash = keccak256(abi.encodePacked("hello world")); + string memory message = "hello world"; + bytes32 hash = ECDSA.toEthSignedMessageHash(bytes(message)); bytes32 digest = keccak256( abi.encodePacked( "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), hash From 5b808384afbda9e3af92f2734de8f7bc7c2c299e Mon Sep 17 00:00:00 2001 From: leekt Date: Thu, 8 Feb 2024 17:10:59 +0900 Subject: [PATCH 38/51] gas snapshot and ci --- .gas-snapshot | 488 ++++++++++++++++++++----------------- .github/workflows/test.yml | 8 +- 2 files changed, 269 insertions(+), 227 deletions(-) diff --git a/.gas-snapshot b/.gas-snapshot index 09164ee6..7f64b9ca 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,235 +1,271 @@ KernelECDSATest:test_default_validator_disable() (gas: 0) -KernelECDSATest:test_default_validator_disable() (gas: 180903) +KernelECDSATest:test_default_validator_disable() (gas: 180648) KernelECDSATest:test_default_validator_enable() (gas: 0) -KernelECDSATest:test_default_validator_enable() (gas: 188628) -KernelECDSATest:test_disable_mode() (gas: 182553) -KernelECDSATest:test_disable_mode() (gas: 191433) -KernelECDSATest:test_eip712() (gas: 15037) -KernelECDSATest:test_eip712() (gas: 15059) -KernelECDSATest:test_enable_then_mode_1() (gas: 279181) -KernelECDSATest:test_enable_then_mode_1() (gas: 287578) -KernelECDSATest:test_external_call_batch_execute_fail() (gas: 22756) -KernelECDSATest:test_external_call_batch_execute_fail() (gas: 28852) -KernelECDSATest:test_external_call_batch_execute_success() (gas: 20270) -KernelECDSATest:test_external_call_batch_execute_success() (gas: 26366) -KernelECDSATest:test_external_call_default() (gas: 22692) -KernelECDSATest:test_external_call_default() (gas: 28797) -KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 21787) -KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 27771) -KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 19427) -KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 25605) -KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 18939) -KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 24923) -KernelECDSATest:test_external_call_execute_fail() (gas: 21852) -KernelECDSATest:test_external_call_execute_fail() (gas: 28030) -KernelECDSATest:test_external_call_execute_success() (gas: 19187) -KernelECDSATest:test_external_call_execute_success() (gas: 25387) -KernelECDSATest:test_external_call_execution() (gas: 569078) -KernelECDSATest:test_external_call_execution() (gas: 582722) +KernelECDSATest:test_default_validator_enable() (gas: 188140) +KernelECDSATest:test_disable_mode() (gas: 183150) +KernelECDSATest:test_disable_mode() (gas: 192689) +KernelECDSATest:test_eip712() (gas: 15684) +KernelECDSATest:test_eip712() (gas: 15684) +KernelECDSATest:test_enable_then_mode_1() (gas: 279597) +KernelECDSATest:test_enable_then_mode_1() (gas: 287402) +KernelECDSATest:test_external_call_batch_execute_fail() (gas: 23625) +KernelECDSATest:test_external_call_batch_execute_fail() (gas: 29531) +KernelECDSATest:test_external_call_batch_execute_success() (gas: 20626) +KernelECDSATest:test_external_call_batch_execute_success() (gas: 26533) +KernelECDSATest:test_external_call_default() (gas: 23511) +KernelECDSATest:test_external_call_default() (gas: 29338) +KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 22499) +KernelECDSATest:test_external_call_execute_delegatecall_fail() (gas: 28381) +KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 20434) +KernelECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 26329) +KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 19738) +KernelECDSATest:test_external_call_execute_delegatecall_success() (gas: 25621) +KernelECDSATest:test_external_call_execute_fail() (gas: 21968) +KernelECDSATest:test_external_call_execute_fail() (gas: 27862) +KernelECDSATest:test_external_call_execute_success() (gas: 20070) +KernelECDSATest:test_external_call_execute_success() (gas: 25987) +KernelECDSATest:test_external_call_execution() (gas: 498410) +KernelECDSATest:test_external_call_execution() (gas: 511032) KernelECDSATest:test_fail_validate_not_activate() (gas: 0) -KernelECDSATest:test_fail_validate_not_activate() (gas: 374629) -KernelECDSATest:test_fail_validate_wrongsignature() (gas: 23961) -KernelECDSATest:test_fail_validate_wrongsignature() (gas: 33419) -KernelECDSATest:test_get_nonce() (gas: 24893) -KernelECDSATest:test_get_nonce() (gas: 24914) -KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19517, ~: 19517) -KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19561, ~: 19561) -KernelECDSATest:test_ignore() (gas: 231) -KernelECDSATest:test_initialize() (gas: 126587) -KernelECDSATest:test_initialize() (gas: 154222) -KernelECDSATest:test_initialize_twice() (gas: 18215) -KernelECDSATest:test_initialize_twice() (gas: 18218) -KernelECDSATest:test_mode_2() (gas: 243855) -KernelECDSATest:test_mode_2() (gas: 251191) -KernelECDSATest:test_revert_when_mode_disabled() (gas: 200091) -KernelECDSATest:test_revert_when_mode_disabled() (gas: 209038) -KernelECDSATest:test_set_default_validator() (gas: 488911) -KernelECDSATest:test_set_default_validator() (gas: 495350) -KernelECDSATest:test_set_execution() (gas: 530141) -KernelECDSATest:test_set_execution() (gas: 540583) -KernelECDSATest:test_should_emit_event_on_receive() (gas: 22287) -KernelECDSATest:test_should_emit_event_on_receive() (gas: 22287) -KernelECDSATest:test_should_receive_erc1155() (gas: 859668) -KernelECDSATest:test_should_receive_erc1155() (gas: 859712) -KernelECDSATest:test_should_receive_erc1155_batch() (gas: 887339) -KernelECDSATest:test_should_receive_erc1155_batch() (gas: 887340) -KernelECDSATest:test_should_receive_erc721() (gas: 625633) -KernelECDSATest:test_should_receive_erc721() (gas: 625655) -KernelECDSATest:test_should_return_address_if_deployed() (gas: 21491) -KernelECDSATest:test_should_return_address_if_deployed() (gas: 21494) -KernelECDSATest:test_sudo() (gas: 169895) -KernelECDSATest:test_sudo() (gas: 179673) -KernelECDSATest:test_sudo_wrongSig() (gas: 102225) -KernelECDSATest:test_sudo_wrongSig() (gas: 115727) -KernelECDSATest:test_transfer_ownership() (gas: 183729) -KernelECDSATest:test_upgrade() (gas: 21204) -KernelECDSATest:test_upgrade() (gas: 21311) -KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26572) -KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26595) -KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 23483) -KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 23506) -KernelECDSATest:test_validate_signature() (gas: 155498) -KernelECDSATest:test_validate_signature() (gas: 195025) -KernelECDSATypedTest:test_default_validator_disable() (gas: 185197) -KernelECDSATypedTest:test_default_validator_enable() (gas: 192490) -KernelECDSATypedTest:test_disable_mode() (gas: 186804) -KernelECDSATypedTest:test_eip712() (gas: 15059) -KernelECDSATypedTest:test_enable_then_mode_1() (gas: 291831) -KernelECDSATypedTest:test_external_call_batch_execute_fail() (gas: 28808) -KernelECDSATypedTest:test_external_call_batch_execute_success() (gas: 26322) -KernelECDSATypedTest:test_external_call_default() (gas: 28753) -KernelECDSATypedTest:test_external_call_execute_delegatecall_fail() (gas: 27727) -KernelECDSATypedTest:test_external_call_execute_delegatecall_option_fail() (gas: 25561) -KernelECDSATypedTest:test_external_call_execute_delegatecall_success() (gas: 24879) -KernelECDSATypedTest:test_external_call_execute_fail() (gas: 27986) -KernelECDSATypedTest:test_external_call_execute_success() (gas: 25343) -KernelECDSATypedTest:test_external_call_execution() (gas: 586886) -KernelECDSATypedTest:test_fail_validate_not_activate() (gas: 374629) -KernelECDSATypedTest:test_fail_validate_wrongsignature() (gas: 35730) -KernelECDSATypedTest:test_get_nonce() (gas: 24914) -KernelECDSATypedTest:test_get_nonce(uint192) (runs: 1024, μ: 19561, ~: 19561) -KernelECDSATypedTest:test_ignore() (gas: 231) -KernelECDSATypedTest:test_initialize() (gas: 153746) -KernelECDSATypedTest:test_initialize_twice() (gas: 18215) -KernelECDSATypedTest:test_mode_2() (gas: 253563) -KernelECDSATypedTest:test_revert_when_mode_disabled() (gas: 204387) -KernelECDSATypedTest:test_set_default_validator() (gas: 499602) -KernelECDSATypedTest:test_set_execution() (gas: 544835) -KernelECDSATypedTest:test_should_emit_event_on_receive() (gas: 22287) -KernelECDSATypedTest:test_should_receive_erc1155() (gas: 859712) -KernelECDSATypedTest:test_should_receive_erc1155_batch() (gas: 887339) -KernelECDSATypedTest:test_should_receive_erc721() (gas: 625655) -KernelECDSATypedTest:test_should_return_address_if_deployed() (gas: 21494) -KernelECDSATypedTest:test_sudo() (gas: 183925) -KernelECDSATypedTest:test_sudo_wrongSig() (gas: 116245) -KernelECDSATypedTest:test_upgrade() (gas: 21204) -KernelECDSATypedTest:test_validateUserOp_fail_invalid_mode() (gas: 26572) -KernelECDSATypedTest:test_validateUserOp_fail_not_entryPoint() (gas: 23483) -KernelECDSATypedTest:test_validate_signature() (gas: 191688) -KernelHelperTest:testIntersect(uint48,uint48,uint48,uint48) (runs: 1024, μ: 1415, ~: 1419) -KillSwitchValidatorTest:test_default_validator_disable() (gas: 180990) -KillSwitchValidatorTest:test_default_validator_enable() (gas: 188633) -KillSwitchValidatorTest:test_disable_mode() (gas: 182486) -KillSwitchValidatorTest:test_eip712() (gas: 15126) -KillSwitchValidatorTest:test_enable_then_mode_1() (gas: 351532) -KillSwitchValidatorTest:test_external_call_batch_execute_fail() (gas: 28897) -KillSwitchValidatorTest:test_external_call_batch_execute_success() (gas: 26278) -KillSwitchValidatorTest:test_external_call_default() (gas: 28775) -KillSwitchValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 27793) -KillSwitchValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 25605) -KillSwitchValidatorTest:test_external_call_execute_delegatecall_success() (gas: 24945) -KillSwitchValidatorTest:test_external_call_execute_fail() (gas: 28030) -KillSwitchValidatorTest:test_external_call_execute_success() (gas: 25343) -KillSwitchValidatorTest:test_external_call_execution() (gas: 582720) -KillSwitchValidatorTest:test_fail_validate_not_activate() (gas: 374629) -KillSwitchValidatorTest:test_fail_validate_wrongsignature() (gas: 33461) -KillSwitchValidatorTest:test_force_unblock() (gas: 398854) -KillSwitchValidatorTest:test_get_nonce() (gas: 24936) -KillSwitchValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19561, ~: 19561) -KillSwitchValidatorTest:test_ignore() (gas: 209) -KillSwitchValidatorTest:test_initialize() (gas: 154273) -KillSwitchValidatorTest:test_initialize_twice() (gas: 18288) -KillSwitchValidatorTest:test_mode_2() (gas: 315241) -KillSwitchValidatorTest:test_revert_when_mode_disabled() (gas: 200109) -KillSwitchValidatorTest:test_set_default_validator() (gas: 495459) -KillSwitchValidatorTest:test_set_execution() (gas: 540647) -KillSwitchValidatorTest:test_should_emit_event_on_receive() (gas: 22287) -KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature() (gas: 9199) -KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature(bytes32,bytes) (runs: 1024, μ: 9503, ~: 9456) -KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller() (gas: 9290) -KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller(address,bytes) (runs: 1024, μ: 9793, ~: 9745) -KillSwitchValidatorTest:test_should_receive_erc1155() (gas: 859712) -KillSwitchValidatorTest:test_should_receive_erc1155_batch() (gas: 887273) -KillSwitchValidatorTest:test_should_receive_erc721() (gas: 625678) -KillSwitchValidatorTest:test_should_return_address_if_deployed() (gas: 21545) -KillSwitchValidatorTest:test_sudo() (gas: 179715) -KillSwitchValidatorTest:test_sudo_wrongSig() (gas: 115725) -KillSwitchValidatorTest:test_upgrade() (gas: 21226) -KillSwitchValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26594) -KillSwitchValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23505) -KillSwitchValidatorTest:test_validate_signature() (gas: 195118) -SessionKeyValidatorTest:test_default_validator_disable() (gas: 180955) -SessionKeyValidatorTest:test_default_validator_enable() (gas: 188686) -SessionKeyValidatorTest:test_disable_mode() (gas: 182538) -SessionKeyValidatorTest:test_eip712() (gas: 15166) -SessionKeyValidatorTest:test_enable_then_mode_1() (gas: 287585) -SessionKeyValidatorTest:test_external_call_batch_execute_fail() (gas: 28913) -SessionKeyValidatorTest:test_external_call_batch_execute_success() (gas: 26404) -SessionKeyValidatorTest:test_external_call_default() (gas: 28820) -SessionKeyValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 27749) -SessionKeyValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 25605) -SessionKeyValidatorTest:test_external_call_execute_delegatecall_success() (gas: 25010) -SessionKeyValidatorTest:test_external_call_execute_fail() (gas: 28030) -SessionKeyValidatorTest:test_external_call_execute_success() (gas: 25387) -SessionKeyValidatorTest:test_external_call_execution() (gas: 582763) -SessionKeyValidatorTest:test_fail_validate_not_activate() (gas: 374629) -SessionKeyValidatorTest:test_fail_validate_wrongsignature() (gas: 33448) -SessionKeyValidatorTest:test_get_nonce() (gas: 24914) -SessionKeyValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19584, ~: 19584) -SessionKeyValidatorTest:test_ignore() (gas: 209) -SessionKeyValidatorTest:test_initialize() (gas: 154229) -SessionKeyValidatorTest:test_initialize_twice() (gas: 18244) -SessionKeyValidatorTest:test_mode_2() (gas: 251232) -SessionKeyValidatorTest:test_revert_when_mode_disabled() (gas: 200149) -SessionKeyValidatorTest:test_scenario_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool,bool),(uint8)) (runs: 1024, μ: 58166090, ~: 56971973) -SessionKeyValidatorTest:test_scenario_non_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool,bool)) (runs: 1024, μ: 54097883, ~: 56753303) -SessionKeyValidatorTest:test_set_default_validator() (gas: 495379) -SessionKeyValidatorTest:test_set_execution() (gas: 540624) -SessionKeyValidatorTest:test_should_emit_event_on_receive() (gas: 22287) -SessionKeyValidatorTest:test_should_receive_erc1155() (gas: 859735) -SessionKeyValidatorTest:test_should_receive_erc1155_batch() (gas: 887339) -SessionKeyValidatorTest:test_should_receive_erc721() (gas: 625655) -SessionKeyValidatorTest:test_should_return_address_if_deployed() (gas: 21545) -SessionKeyValidatorTest:test_sudo() (gas: 179702) -SessionKeyValidatorTest:test_sudo_wrongSig() (gas: 115756) -SessionKeyValidatorTest:test_upgrade() (gas: 21204) -SessionKeyValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26550) -SessionKeyValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23483) -SessionKeyValidatorTest:test_validate_signature() (gas: 195105) -TestCallee:test_ignore() (gas: 184) -TestCounter:test_ignore() (gas: 120) -TestERC1155:test_ignore() (gas: 186) -TestERC20:test_ignore() (gas: 164) -TestERC721:test_ignore() (gas: 140) -TestExecutor:test_ignore() (gas: 120) -TestPaymaster:test_ignore() (gas: 120) -TestValidator:test_ignore() (gas: 206) -WebAuthnFclValidatorTest:test_default_validator_disable() (gas: 892468) -WebAuthnFclValidatorTest:test_default_validator_enable() (gas: 917513) -WebAuthnFclValidatorTest:test_disable_mode() (gas: 906453) -WebAuthnFclValidatorTest:test_dontRevertForDummySig() (gas: 33996) -WebAuthnFclValidatorTest:test_eip712() (gas: 15126) -WebAuthnFclValidatorTest:test_enable_then_mode_1() (gas: 1350842) -WebAuthnFclValidatorTest:test_external_call_batch_execute_fail() (gas: 23988) +KernelECDSATest:test_fail_validate_not_activate() (gas: 303494) +KernelECDSATest:test_fail_validate_wrongsignature() (gas: 25013) +KernelECDSATest:test_fail_validate_wrongsignature() (gas: 34351) +KernelECDSATest:test_get_nonce() (gas: 25179) +KernelECDSATest:test_get_nonce() (gas: 25201) +KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) +KernelECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) +KernelECDSATest:test_ignore() (gas: 868) +KernelECDSATest:test_initialize() (gas: 126488) +KernelECDSATest:test_initialize() (gas: 154121) +KernelECDSATest:test_initialize_twice() (gas: 18555) +KernelECDSATest:test_initialize_twice() (gas: 18599) +KernelECDSATest:test_mode_2() (gas: 243897) +KernelECDSATest:test_mode_2() (gas: 251079) +KernelECDSATest:test_revert_when_mode_disabled() (gas: 200119) +KernelECDSATest:test_revert_when_mode_disabled() (gas: 209710) +KernelECDSATest:test_set_default_validator() (gas: 417747) +KernelECDSATest:test_set_default_validator() (gas: 423674) +KernelECDSATest:test_set_execution() (gas: 458742) +KernelECDSATest:test_set_execution() (gas: 468648) +KernelECDSATest:test_should_emit_event_on_receive() (gas: 23220) +KernelECDSATest:test_should_emit_event_on_receive() (gas: 23220) +KernelECDSATest:test_should_receive_erc1155() (gas: 700299) +KernelECDSATest:test_should_receive_erc1155() (gas: 700325) +KernelECDSATest:test_should_receive_erc1155_batch() (gas: 727496) +KernelECDSATest:test_should_receive_erc1155_batch() (gas: 727496) +KernelECDSATest:test_should_receive_erc721() (gas: 593075) +KernelECDSATest:test_should_receive_erc721() (gas: 593097) +KernelECDSATest:test_should_return_address_if_deployed() (gas: 21970) +KernelECDSATest:test_should_return_address_if_deployed() (gas: 21976) +KernelECDSATest:test_sudo() (gas: 170590) +KernelECDSATest:test_sudo() (gas: 179783) +KernelECDSATest:test_sudo_wrongSig() (gas: 103121) +KernelECDSATest:test_sudo_wrongSig() (gas: 116321) +KernelECDSATest:test_transfer_ownership() (gas: 185003) +KernelECDSATest:test_upgrade() (gas: 21292) +KernelECDSATest:test_upgrade() (gas: 21292) +KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26934) +KernelECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 26986) +KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 23364) +KernelECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 23416) +KernelECDSATest:test_validate_signature() (gas: 155870) +KernelECDSATest:test_validate_signature() (gas: 195172) +KernelECDSATypedTest:test_default_validator_disable() (gas: 185046) +KernelECDSATypedTest:test_default_validator_enable() (gas: 192011) +KernelECDSATypedTest:test_disable_mode() (gas: 187373) +KernelECDSATypedTest:test_eip712() (gas: 15684) +KernelECDSATypedTest:test_enable_then_mode_1() (gas: 291627) +KernelECDSATypedTest:test_external_call_batch_execute_fail() (gas: 29575) +KernelECDSATypedTest:test_external_call_batch_execute_success() (gas: 26577) +KernelECDSATypedTest:test_external_call_default() (gas: 29382) +KernelECDSATypedTest:test_external_call_execute_delegatecall_fail() (gas: 28425) +KernelECDSATypedTest:test_external_call_execute_delegatecall_option_fail() (gas: 26373) +KernelECDSATypedTest:test_external_call_execute_delegatecall_success() (gas: 25665) +KernelECDSATypedTest:test_external_call_execute_fail() (gas: 27906) +KernelECDSATypedTest:test_external_call_execute_success() (gas: 26031) +KernelECDSATypedTest:test_external_call_execution() (gas: 515344) +KernelECDSATypedTest:test_fail_validate_not_activate() (gas: 303494) +KernelECDSATypedTest:test_fail_validate_wrongsignature() (gas: 36477) +KernelECDSATypedTest:test_get_nonce() (gas: 25179) +KernelECDSATypedTest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) +KernelECDSATypedTest:test_ignore() (gas: 868) +KernelECDSATypedTest:test_initialize() (gas: 153627) +KernelECDSATypedTest:test_initialize_twice() (gas: 18555) +KernelECDSATypedTest:test_mode_2() (gas: 253336) +KernelECDSATypedTest:test_revert_when_mode_disabled() (gas: 204271) +KernelECDSATypedTest:test_set_default_validator() (gas: 427897) +KernelECDSATypedTest:test_set_execution() (gas: 472872) +KernelECDSATypedTest:test_should_emit_event_on_receive() (gas: 23220) +KernelECDSATypedTest:test_should_receive_erc1155() (gas: 700299) +KernelECDSATypedTest:test_should_receive_erc1155_batch() (gas: 727496) +KernelECDSATypedTest:test_should_receive_erc721() (gas: 593097) +KernelECDSATypedTest:test_should_return_address_if_deployed() (gas: 21976) +KernelECDSATypedTest:test_sudo() (gas: 184006) +KernelECDSATypedTest:test_sudo_wrongSig() (gas: 116744) +KernelECDSATypedTest:test_upgrade() (gas: 21292) +KernelECDSATypedTest:test_validateUserOp_fail_invalid_mode() (gas: 26934) +KernelECDSATypedTest:test_validateUserOp_fail_not_entryPoint() (gas: 23364) +KernelECDSATypedTest:test_validate_signature() (gas: 191595) +KernelHelperTest:testIntersect(uint48,uint48,uint48,uint48) (runs: 1024, μ: 986, ~: 991) +KernelWeightedECDSATest:test_default_validator_disable() (gas: 305435) +KernelWeightedECDSATest:test_default_validator_enable() (gas: 861) +KernelWeightedECDSATest:test_disable_mode() (gas: 310650) +KernelWeightedECDSATest:test_eip712() (gas: 15953) +KernelWeightedECDSATest:test_enable_then_mode_1() (gas: 415042) +KernelWeightedECDSATest:test_external_call_batch_execute_fail() (gas: 27875) +KernelWeightedECDSATest:test_external_call_batch_execute_success() (gas: 0) +KernelWeightedECDSATest:test_external_call_default() (gas: 0) +KernelWeightedECDSATest:test_external_call_execute_delegatecall_fail() (gas: 66397) +KernelWeightedECDSATest:test_external_call_execute_delegatecall_option_fail() (gas: 66179) +KernelWeightedECDSATest:test_external_call_execute_delegatecall_success() (gas: 0) +KernelWeightedECDSATest:test_external_call_execute_fail() (gas: 65677) +KernelWeightedECDSATest:test_external_call_execute_success() (gas: 0) +KernelWeightedECDSATest:test_external_call_execution() (gas: 639603) +KernelWeightedECDSATest:test_fail_validate_not_activate() (gas: 304469) +KernelWeightedECDSATest:test_fail_validate_wrongsignature() (gas: 48654) +KernelWeightedECDSATest:test_get_nonce() (gas: 25643) +KernelWeightedECDSATest:test_get_nonce(uint192) (runs: 1024, μ: 20178, ~: 20178) +KernelWeightedECDSATest:test_ignore() (gas: 949) +KernelWeightedECDSATest:test_initialize() (gas: 250808) +KernelWeightedECDSATest:test_initialize_twice() (gas: 33199) +KernelWeightedECDSATest:test_mode_2() (gas: 266572) +KernelWeightedECDSATest:test_revert_when_mode_disabled() (gas: 329650) +KernelWeightedECDSATest:test_set_default_validator() (gas: 550884) +KernelWeightedECDSATest:test_set_execution() (gas: 596300) +KernelWeightedECDSATest:test_should_emit_event_on_receive() (gas: 23500) +KernelWeightedECDSATest:test_should_receive_erc1155() (gas: 700509) +KernelWeightedECDSATest:test_should_receive_erc1155_batch() (gas: 727747) +KernelWeightedECDSATest:test_should_receive_erc721() (gas: 593329) +KernelWeightedECDSATest:test_should_return_address_if_deployed() (gas: 37658) +KernelWeightedECDSATest:test_sudo() (gas: 306510) +KernelWeightedECDSATest:test_sudo_wrongSig() (gas: 158085) +KernelWeightedECDSATest:test_upgrade() (gas: 21643) +KernelWeightedECDSATest:test_validateUserOp_fail_invalid_mode() (gas: 27390) +KernelWeightedECDSATest:test_validateUserOp_fail_not_entryPoint() (gas: 23678) +KernelWeightedECDSATest:test_validate_signature() (gas: 311992) +KillSwitchValidatorTest:test_default_validator_disable() (gas: 180769) +KillSwitchValidatorTest:test_default_validator_enable() (gas: 188261) +KillSwitchValidatorTest:test_disable_mode() (gas: 183271) +KillSwitchValidatorTest:test_eip712() (gas: 15820) +KillSwitchValidatorTest:test_enable_then_mode_1() (gas: 349996) +KillSwitchValidatorTest:test_external_call_batch_execute_fail() (gas: 29619) +KillSwitchValidatorTest:test_external_call_batch_execute_success() (gas: 26555) +KillSwitchValidatorTest:test_external_call_default() (gas: 29426) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 28469) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 26439) +KillSwitchValidatorTest:test_external_call_execute_delegatecall_success() (gas: 25709) +KillSwitchValidatorTest:test_external_call_execute_fail() (gas: 27906) +KillSwitchValidatorTest:test_external_call_execute_success() (gas: 26075) +KillSwitchValidatorTest:test_external_call_execution() (gas: 511153) +KillSwitchValidatorTest:test_fail_validate_not_activate() (gas: 303604) +KillSwitchValidatorTest:test_fail_validate_wrongsignature() (gas: 34494) +KillSwitchValidatorTest:test_force_unblock() (gas: 394842) +KillSwitchValidatorTest:test_get_nonce() (gas: 25201) +KillSwitchValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19930, ~: 19930) +KillSwitchValidatorTest:test_ignore() (gas: 956) +KillSwitchValidatorTest:test_initialize() (gas: 154209) +KillSwitchValidatorTest:test_initialize_twice() (gas: 18643) +KillSwitchValidatorTest:test_mode_2() (gas: 313713) +KillSwitchValidatorTest:test_revert_when_mode_disabled() (gas: 200273) +KillSwitchValidatorTest:test_set_default_validator() (gas: 423773) +KillSwitchValidatorTest:test_set_execution() (gas: 468769) +KillSwitchValidatorTest:test_should_emit_event_on_receive() (gas: 23330) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature() (gas: 9236) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_isValidSignature(bytes32,bytes) (runs: 1024, μ: 9601, ~: 9556) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller() (gas: 10157) +KillSwitchValidatorTest:test_should_fail_with_not_implemented_validCaller(address,bytes) (runs: 1024, μ: 9749, ~: 9703) +KillSwitchValidatorTest:test_should_receive_erc1155() (gas: 700387) +KillSwitchValidatorTest:test_should_receive_erc1155_batch() (gas: 727584) +KillSwitchValidatorTest:test_should_receive_erc721() (gas: 593185) +KillSwitchValidatorTest:test_should_return_address_if_deployed() (gas: 22086) +KillSwitchValidatorTest:test_sudo() (gas: 179882) +KillSwitchValidatorTest:test_sudo_wrongSig() (gas: 116442) +KillSwitchValidatorTest:test_upgrade() (gas: 21314) +KillSwitchValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 27022) +KillSwitchValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23391) +KillSwitchValidatorTest:test_validate_signature() (gas: 195249) +SessionKeyValidatorTest:test_default_validator_disable() (gas: 180670) +SessionKeyValidatorTest:test_default_validator_enable() (gas: 188140) +SessionKeyValidatorTest:test_disable_mode() (gas: 183150) +SessionKeyValidatorTest:test_eip712() (gas: 15684) +SessionKeyValidatorTest:test_enable_then_mode_1() (gas: 287446) +SessionKeyValidatorTest:test_external_call_batch_execute_fail() (gas: 29553) +SessionKeyValidatorTest:test_external_call_batch_execute_success() (gas: 26533) +SessionKeyValidatorTest:test_external_call_default() (gas: 29360) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 28381) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 26373) +SessionKeyValidatorTest:test_external_call_execute_delegatecall_success() (gas: 25621) +SessionKeyValidatorTest:test_external_call_execute_fail() (gas: 27862) +SessionKeyValidatorTest:test_external_call_execute_success() (gas: 26031) +SessionKeyValidatorTest:test_external_call_execution() (gas: 511076) +SessionKeyValidatorTest:test_fail_validate_not_activate() (gas: 303538) +SessionKeyValidatorTest:test_fail_validate_wrongsignature() (gas: 34395) +SessionKeyValidatorTest:test_get_nonce() (gas: 25179) +SessionKeyValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19842, ~: 19842) +SessionKeyValidatorTest:test_ignore() (gas: 912) +SessionKeyValidatorTest:test_initialize() (gas: 154121) +SessionKeyValidatorTest:test_initialize_twice() (gas: 18555) +SessionKeyValidatorTest:test_mode_2() (gas: 251156) +SessionKeyValidatorTest:test_revert_when_mode_disabled() (gas: 200037) +SessionKeyValidatorTest:test_scenario_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool,bool),(uint8)) (runs: 1024, μ: 55953243, ~: 51234062) +SessionKeyValidatorTest:test_scenario_non_batch((uint8,uint8,uint8,uint8,uint48,uint48,uint48,uint48,bool,bool,bool,bool,bool)) (runs: 1024, μ: 50850417, ~: 50878988) +SessionKeyValidatorTest:test_set_default_validator() (gas: 423674) +SessionKeyValidatorTest:test_set_execution() (gas: 468648) +SessionKeyValidatorTest:test_should_emit_event_on_receive() (gas: 23264) +SessionKeyValidatorTest:test_should_receive_erc1155() (gas: 700299) +SessionKeyValidatorTest:test_should_receive_erc1155_batch() (gas: 727496) +SessionKeyValidatorTest:test_should_receive_erc721() (gas: 593141) +SessionKeyValidatorTest:test_should_return_address_if_deployed() (gas: 22020) +SessionKeyValidatorTest:test_sudo() (gas: 179783) +SessionKeyValidatorTest:test_sudo_wrongSig() (gas: 116365) +SessionKeyValidatorTest:test_upgrade() (gas: 21292) +SessionKeyValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26958) +SessionKeyValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23364) +SessionKeyValidatorTest:test_validate_signature() (gas: 195172) +TestCallee:test_ignore() (gas: 249) +TestCounter:test_ignore() (gas: 164) +TestERC1155:test_ignore() (gas: 313) +TestERC20:test_ignore() (gas: 389) +TestERC721:test_ignore() (gas: 399) +TestExecutor:test_ignore() (gas: 130) +TestPaymaster:test_ignore() (gas: 174) +TestValidator:test_ignore() (gas: 351) +WebAuthnFclValidatorTest:test_default_validator_disable() (gas: 599624) +WebAuthnFclValidatorTest:test_default_validator_enable() (gas: 610462) +WebAuthnFclValidatorTest:test_disable_mode() (gas: 606941) +WebAuthnFclValidatorTest:test_dontRevertForDummySig() (gas: 32708) +WebAuthnFclValidatorTest:test_eip712() (gas: 15953) +WebAuthnFclValidatorTest:test_enable_then_mode_1() (gas: 725427) +WebAuthnFclValidatorTest:test_external_call_batch_execute_fail() (gas: 25082) WebAuthnFclValidatorTest:test_external_call_batch_execute_success() (gas: 0) WebAuthnFclValidatorTest:test_external_call_default() (gas: 0) WebAuthnFclValidatorTest:test_external_call_execute_delegatecall_fail() (gas: 0) -WebAuthnFclValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 20913) +WebAuthnFclValidatorTest:test_external_call_execute_delegatecall_option_fail() (gas: 21982) WebAuthnFclValidatorTest:test_external_call_execute_delegatecall_success() (gas: 0) -WebAuthnFclValidatorTest:test_external_call_execute_fail() (gas: 21042) +WebAuthnFclValidatorTest:test_external_call_execute_fail() (gas: 21228) WebAuthnFclValidatorTest:test_external_call_execute_success() (gas: 0) WebAuthnFclValidatorTest:test_external_call_execution() (gas: 0) -WebAuthnFclValidatorTest:test_fail_validate_InvalidWebAuthnData() (gas: 381009) -WebAuthnFclValidatorTest:test_fail_validate_not_activate() (gas: 374618) -WebAuthnFclValidatorTest:test_fail_validate_wrongsignature() (gas: 763214) -WebAuthnFclValidatorTest:test_get_nonce() (gas: 24914) -WebAuthnFclValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 19561, ~: 19561) -WebAuthnFclValidatorTest:test_initialize() (gas: 178292) -WebAuthnFclValidatorTest:test_initialize_twice() (gas: 20501) -WebAuthnFclValidatorTest:test_mode_2() (gas: 1311901) -WebAuthnFclValidatorTest:test_revert_when_mode_disabled() (gas: 924091) -WebAuthnFclValidatorTest:test_set_default_validator() (gas: 1211266) -WebAuthnFclValidatorTest:test_set_execution() (gas: 1276676) -WebAuthnFclValidatorTest:test_should_emit_event_on_receive() (gas: 22287) -WebAuthnFclValidatorTest:test_should_receive_erc1155() (gas: 859701) -WebAuthnFclValidatorTest:test_should_receive_erc1155_batch() (gas: 887273) -WebAuthnFclValidatorTest:test_should_receive_erc721() (gas: 625633) -WebAuthnFclValidatorTest:test_should_return_address_if_deployed() (gas: 23765) -WebAuthnFclValidatorTest:test_sudo() (gas: 906016) -WebAuthnFclValidatorTest:test_sudo_wrongSig() (gas: 841531) -WebAuthnFclValidatorTest:test_upgrade() (gas: 21226) -WebAuthnFclValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 26594) -WebAuthnFclValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23483) -WebAuthnFclValidatorTest:test_validate_signature() (gas: 751849) -WebAuthnFclValidatorTest:test_webAuthnSignatureGeneration(bytes32,uint256) (runs: 1024, μ: 1277845, ~: 1199457) -WebAuthnFclValidatorTest:test_webAuthnSignatureGeneration_solo() (gas: 1116434) \ No newline at end of file +WebAuthnFclValidatorTest:test_fail_validate_InvalidWebAuthnData() (gas: 55738) +WebAuthnFclValidatorTest:test_fail_validate_not_activate() (gas: 304424) +WebAuthnFclValidatorTest:test_fail_validate_wrongsignature() (gas: 450136) +WebAuthnFclValidatorTest:test_get_nonce() (gas: 25621) +WebAuthnFclValidatorTest:test_get_nonce(uint192) (runs: 1024, μ: 20156, ~: 20156) +WebAuthnFclValidatorTest:test_initialize() (gas: 178514) +WebAuthnFclValidatorTest:test_initialize_twice() (gas: 20827) +WebAuthnFclValidatorTest:test_mode_2() (gas: 698102) +WebAuthnFclValidatorTest:test_revert_when_mode_disabled() (gas: 623939) +WebAuthnFclValidatorTest:test_set_default_validator() (gas: 844997) +WebAuthnFclValidatorTest:test_set_execution() (gas: 897931) +WebAuthnFclValidatorTest:test_should_emit_event_on_receive() (gas: 23456) +WebAuthnFclValidatorTest:test_should_receive_erc1155() (gas: 700487) +WebAuthnFclValidatorTest:test_should_receive_erc1155_batch() (gas: 727747) +WebAuthnFclValidatorTest:test_should_receive_erc721() (gas: 593263) +WebAuthnFclValidatorTest:test_should_return_address_if_deployed() (gas: 24521) +WebAuthnFclValidatorTest:test_sudo() (gas: 602311) +WebAuthnFclValidatorTest:test_sudo_wrongSig() (gas: 531738) +WebAuthnFclValidatorTest:test_upgrade() (gas: 21643) +WebAuthnFclValidatorTest:test_validateUserOp_fail_invalid_mode() (gas: 27368) +WebAuthnFclValidatorTest:test_validateUserOp_fail_not_entryPoint() (gas: 23656) +WebAuthnFclValidatorTest:test_validate_signature() (gas: 466394) +WebAuthnFclValidatorTest:test_webAuthnSignatureGeneration(bytes32,uint256) (runs: 1024, μ: 925827, ~: 849019) +WebAuthnFclValidatorTest:test_webAuthnSignatureGeneration_solo() (gas: 837725) \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 09880b1d..146189b5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,12 @@ name: test -on: workflow_dispatch +on: + workflow_dispatch: + pull_request: + push: + branches: + - "main" + - "dev" env: FOUNDRY_PROFILE: ci From 8268e3e89ae2195954747c576472bc445151379a Mon Sep 17 00:00:00 2001 From: leekt Date: Thu, 8 Feb 2024 17:16:29 +0900 Subject: [PATCH 39/51] added snapshot flow --- .github/workflows/test.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 146189b5..1d181abb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -38,3 +38,8 @@ jobs: run: | forge test -vvv id: test + + - name: Run snapshot + run: NO_COLOR=1 forge snapshot >> $GITHUB_STEP_SUMMARY + id: snapshot + From 679ac9f1d0b6df16ce5f0ca8619b65c158ae763c Mon Sep 17 00:00:00 2001 From: leekt Date: Thu, 8 Feb 2024 17:20:05 +0900 Subject: [PATCH 40/51] added ci profile to foundry.toml --- foundry.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/foundry.toml b/foundry.toml index 9757adcd..53af50e5 100644 --- a/foundry.toml +++ b/foundry.toml @@ -13,5 +13,8 @@ runs = 1000000 [profile.deploy] via-ir = true +[profile.ci] +via-ir = true + [fuzz] runs = 1024 From 6f0abcea7daa5f1a28a7c7f36e0d87bcebf30777 Mon Sep 17 00:00:00 2001 From: leekt Date: Thu, 8 Feb 2024 17:21:40 +0900 Subject: [PATCH 41/51] added coverage workflow --- .github/workflows/test.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1d181abb..be2fd56e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -43,3 +43,5 @@ jobs: run: NO_COLOR=1 forge snapshot >> $GITHUB_STEP_SUMMARY id: snapshot + - name: Run coverage + run: NO_COLOR=1 forge coverage >> $GITHUB_STEP_SUMMARY From 464faad3e2eff273b42002d203d42e99c71b80c2 Mon Sep 17 00:00:00 2001 From: leekt Date: Thu, 8 Feb 2024 18:16:02 +0900 Subject: [PATCH 42/51] removed ci profile --- foundry.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/foundry.toml b/foundry.toml index 53af50e5..9757adcd 100644 --- a/foundry.toml +++ b/foundry.toml @@ -13,8 +13,5 @@ runs = 1000000 [profile.deploy] via-ir = true -[profile.ci] -via-ir = true - [fuzz] runs = 1024 From 3ff56779032197d713c9b2854db885c148d8a2e2 Mon Sep 17 00:00:00 2001 From: leekt Date: Thu, 8 Feb 2024 18:17:29 +0900 Subject: [PATCH 43/51] via-ir for snapshot --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index be2fd56e..bf068fdb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -40,7 +40,7 @@ jobs: id: test - name: Run snapshot - run: NO_COLOR=1 forge snapshot >> $GITHUB_STEP_SUMMARY + run: NO_COLOR=1 forge snapshot --via-ir >> $GITHUB_STEP_SUMMARY id: snapshot - name: Run coverage From 78b2a0e965e351c29dd7af9e75280e2f7818183f Mon Sep 17 00:00:00 2001 From: Derek Chiang Date: Sun, 11 Feb 2024 19:37:52 -0800 Subject: [PATCH 44/51] Fix dead link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f701be30..db45b3d6 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ Kernel is supported by all major AA SDKs, including: ## Resources -- [Developing plugins](https://docs.zerodev.app/extend-wallets/overview) +- [Learn more about plugins](https://docs.zerodev.app/sdk/plugins/intro) - [Read the source code](https://github.com/zerodevapp/kernel) ## Build From 10cd5f0e212386aebdd368056f7000cd6ba48009 Mon Sep 17 00:00:00 2001 From: Quentin Nivelais Date: Fri, 16 Feb 2024 16:52:58 +0100 Subject: [PATCH 45/51] =?UTF-8?q?=E2=9C=A8=20Add=20the=20options=20to=20up?= =?UTF-8?q?grade=20to=20the=20RIP-7212=20p256=20verifier=20(#82)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ✨ Add the options to upgrade to the RIP-7212 p256 verifier * 🐛 Handle empty response from the pre compiled p256 verifier * 🐛 Switch between pre-compiled and on chain p256 verifier via a signature flag --- .../webauthn/WebAuthnFclValidator.sol | 25 ++++++++++++++++--- .../webauthn/WebAuthnFclVerifier.sol | 16 ++++++++++-- .../validator/WebAuthnFclValidator.t.sol | 11 ++++---- 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/src/validator/webauthn/WebAuthnFclValidator.sol b/src/validator/webauthn/WebAuthnFclValidator.sol index 6169ed39..fbbc41ed 100644 --- a/src/validator/webauthn/WebAuthnFclValidator.sol +++ b/src/validator/webauthn/WebAuthnFclValidator.sol @@ -28,9 +28,8 @@ contract WebAuthnFclValidator is IKernelValidator { /// @dev Mapping of kernel address to each webAuthn specific storage mapping(address kernel => WebAuthnFclValidatorStorage webAuthnStorage) private webAuthnValidatorStorage; - /// @dev The address of the p256 verifier contract (should be 0x100 on the RIP-7212 compliant chains) - /// @dev To follow up for the deployment: https://forum.polygon.technology/t/pip-27-precompiled-for-secp256r1-curve-support/13049 - address public immutable P256_VERIFIER; + /// @dev The address of the on-chain p256 verifier contract (will be used if the user want that instead of the pre-compiled one, that way this validator can work on every chain out of the box while rip7212 is slowly being implemented everywhere) + address private immutable P256_VERIFIER; /// @dev Simple constructor, setting the P256 verifier address constructor(address _p256Verifier) { @@ -98,6 +97,7 @@ contract WebAuthnFclValidator is IKernelValidator { bytes32 _hash, bytes calldata _signature ) private view returns (bool isValid) { + // Extract the first byte of the signature to check return WebAuthnFclVerifier._verifyWebAuthNSignature( P256_VERIFIER, _hash, _signature, _kernelValidatorStorage.x, _kernelValidatorStorage.y ); @@ -121,4 +121,23 @@ contract WebAuthnFclValidator is IKernelValidator { x = kernelValidatorStorage.x; y = kernelValidatorStorage.y; } + + /// @dev Check if the pre-compiled p256 verifier is available on this chain + function isPreCompiledP256Available() public view returns (bool) { + // Test signature data, from https://gist.github.com/ulerdogan/8f1714895e23a54147fc529ea30517eb + bytes memory testSignatureData = + hex"4cee90eb86eaa050036147a12d49004b6b9c72bd725d39d4785011fe190f0b4da73bd4903f0ce3b639bbbf6e8e80d16931ff4bcf5993d58468e8fb19086e8cac36dbcd03009df8c59286b162af3bd7fcc0450c9aa81be5d10d312af6c66b1d604aebd3099c618202fcfe16ae7770b0c49ab5eadf74b754204a3bb6060e44eff37618b065f9832de4ca6ca971a7a1adc826d0f7c00181a5fb2ddf79ae00b4e10e"; + + // Perform the static call + (bool success, bytes memory data) = WebAuthnFclVerifier.PRECOMPILED_P256_VERIFIER.staticcall(testSignatureData); + if (!success || data.length == 0) { + return false; + } + + // Decode the result + uint256 result = abi.decode(data, (uint256)); + + // Check it's 1 (valid signature) + return result == uint256(1); + } } diff --git a/src/validator/webauthn/WebAuthnFclVerifier.sol b/src/validator/webauthn/WebAuthnFclVerifier.sol index c89dc75d..02d9aaf1 100644 --- a/src/validator/webauthn/WebAuthnFclVerifier.sol +++ b/src/validator/webauthn/WebAuthnFclVerifier.sol @@ -21,8 +21,12 @@ library WebAuthnFclVerifier { /// @dev Always 0x01 for user presence flag -> https://www.w3.org/TR/webauthn-2/#concept-user-present bytes1 private constant AUTHENTICATOR_DATA_FLAG_MASK = 0x01; + /// @dev The address of the pre-compiled p256 verifier contract (following RIP-7212) + address internal constant PRECOMPILED_P256_VERIFIER = address(0x100); + /// @dev layout of a signature (used to extract the reauired payload from the initial calldata) struct FclSignatureLayout { + bool useOnChainP256Verifier; bytes authenticatorData; bytes clientData; uint256 challengeOffset; @@ -103,7 +107,7 @@ library WebAuthnFclVerifier { } /// @dev Proceed to the full webauth verification - /// @param _p256Verifier The p256 verifier contract + /// @param _p256Verifier The p256 verifier contract on-chain (if user want to use this instead of the precompiled one) /// @param _hash The hash that has been signed via WebAuthN /// @param _signature The signature that has been provided with the userOp /// @param _x The X point of the public key @@ -124,6 +128,11 @@ library WebAuthnFclVerifier { signature := _signature.offset } + // If the signature is using the on-chain p256 verifier, we will use it + if (!signature.useOnChainP256Verifier) { + _p256Verifier = PRECOMPILED_P256_VERIFIER; + } + // Format the webauthn challenge into a p256 message bytes32 challenge = _formatWebAuthNChallenge(_hash, signature); @@ -132,7 +141,10 @@ library WebAuthnFclVerifier { // Send the call the the p256 verifier (bool success, bytes memory ret) = _p256Verifier.staticcall(args); - assert(success); // never reverts, always returns 0 or 1 + // If empty ret, return false + if (success == false || ret.length == 0) { + return false; + } // Ensure that it has returned 1 return abi.decode(ret, (uint256)) == 1; diff --git a/test/foundry/validator/WebAuthnFclValidator.t.sol b/test/foundry/validator/WebAuthnFclValidator.t.sol index 8cd95139..58e1c32b 100644 --- a/test/foundry/validator/WebAuthnFclValidator.t.sol +++ b/test/foundry/validator/WebAuthnFclValidator.t.sol @@ -208,7 +208,7 @@ contract WebAuthnFclValidatorTest is KernelTestBase { uint256[2] memory rs = [type(uint256).max, type(uint256).max]; // Encode all of that into a signature - bytes memory signature = abi.encode(authenticatorData, clientData, clientChallengeDataOffset, rs); + bytes memory signature = abi.encode(true, authenticatorData, clientData, clientChallengeDataOffset, rs); // Check the sig (and ensure we didn't revert here) bool isValid = webAuthNTester.verifySignature(address(p256VerifierWrapper), bytes32(0), signature, x, y); @@ -234,7 +234,7 @@ contract WebAuthnFclValidatorTest is KernelTestBase { uint256[2] memory rs = [r, s]; // Encode all of that into a signature - bytes memory signature = abi.encode(authenticatorData, clientData, clientChallengeDataOffset, rs); + bytes memory signature = abi.encode(true, authenticatorData, clientData, clientChallengeDataOffset, rs); // Ensure the signature is valid bool isValid = webAuthNTester.verifySignature(address(p256VerifierWrapper), _hash, signature, pubX, pubY); @@ -256,7 +256,7 @@ contract WebAuthnFclValidatorTest is KernelTestBase { uint256[2] memory rs = [r, s]; // Encode all of that into a signature - bytes memory signature = abi.encode(authenticatorData, clientData, clientChallengeDataOffset, rs); + bytes memory signature = abi.encode(true, authenticatorData, clientData, clientChallengeDataOffset, rs); // Ensure the signature is valid bool isValid = webAuthNTester.verifySignature(address(p256VerifierWrapper), _hash, signature, pubX, pubY); @@ -281,7 +281,7 @@ contract WebAuthnFclValidatorTest is KernelTestBase { uint256[2] memory rs = [r, s]; // Return the signature - return abi.encode(authenticatorData, clientData, clientChallengeDataOffset, rs); + return abi.encode(true, authenticatorData, clientData, clientChallengeDataOffset, rs); } /// @dev Prepare all the base data needed to perform a webauthn signature o n the given `_hash` @@ -310,6 +310,7 @@ contract WebAuthnFclValidatorTest is KernelTestBase { // Build the signature layout WebAuthnFclVerifier.FclSignatureLayout memory sigLayout = WebAuthnFclVerifier.FclSignatureLayout({ + useOnChainP256Verifier: true, authenticatorData: authenticatorData, clientData: clientData, challengeOffset: clientChallengeDataOffset, @@ -330,7 +331,7 @@ contract WebAuthnFclValidatorTest is KernelTestBase { uint256 constant P256_N_DIV_2 = 57896044605178124381348723474703786764998477612067880171211129530534256022184; /// @dev Generate a p256 signature, from the given `_privateKey` on the given `_hash` - function _getP256Signature(uint256 _privateKey, bytes32 _hash) internal view returns (uint256, uint256) { + function _getP256Signature(uint256 _privateKey, bytes32 _hash) internal pure returns (uint256, uint256) { // Generate the signature using the k value and the private key (bytes32 r, bytes32 s) = vm.signP256(_privateKey, _hash); return (uint256(r), uint256(s)); From 633e4ea6b78ee27c4154082f2147f3a3cb2e9461 Mon Sep 17 00:00:00 2001 From: taek Date: Thu, 22 Feb 2024 15:02:39 +0900 Subject: [PATCH 46/51] Modular permission (#84) * restructured to seprate plugins folder * added modular permission * fmt * synced dev * fix: shadowed variable * modular permission encoding checked * intersect supports validation data with aggregator * draft for modular permission * forge fmt * non-view for validCaller * fix: test for helper * changed validCaller to non-view * removed rawMessage, move this to policy...? * gas policy example for policy * execute policy for interval based execution limits * added natspec for modular permission validator * added flag to skip validation data * moved policy config to separate file * remapping to includ I4337 * temp * modular permission test without validCaller support * support requestor feature * now call it allowed requestor * forge fmt * example for eip712 * test fix to check if signature validation result is ok * fix: nonce fixes in ModularPermissionValidator * fix: use calldata for sig * fix: proof fetching in MerklePolicy * fix : use msg.sender instead of caller for signature verification on eip712 policy * chore: deploy signaturePolicy * fix: added validator in the storage mapping of SignaturePolicy to fix unauthenticated state change vuln * fix: remove p256-verifier lib * feat: added WebAuthnSigner for ModularPermissionValidator (#83) * feat: added Sudo policy for ModularPermissionValidator * fix: nonce for single tx dual enable and ECDSASigner sig --------- Co-authored-by: Sahil Vasava --- .gitignore | 1 + .gitmodules | 2 +- .../80001/run-1708379656.json | 31 + .../80001/run-1708379701.json | 33 + .../80001/run-1708379708.json | 65 ++ .../DeployKernel.s.sol/80001/run-latest.json | 65 ++ .../80001/run-1707331759.json | 69 ++ .../80001/run-1707331808.json | 73 ++ .../80001/run-1707331815.json | 169 ++++ .../80001/run-1707430304.json | 33 + .../80001/run-1707430395.json | 65 ++ .../80001/run-1707439892.json | 33 + .../80001/run-1707439906.json | 65 ++ .../80001/run-1707741950.json | 33 + .../80001/run-1707741957.json | 65 ++ .../80001/run-1707822518.json | 33 + .../80001/run-1707822525.json | 65 ++ .../80001/run-1708112110.json | 33 + .../80001/run-1708112117.json | 65 ++ .../80001/run-1708376910.json | 53 ++ .../80001/run-1708376917.json | 117 +++ .../80001/run-1708453269.json | 33 + .../80001/run-1708453276.json | 65 ++ .../80001/run-latest.json | 65 ++ foundry.toml | 2 +- gas/gas_report.sh | 4 +- index.ts | 1 - lib/p256-verifier | 1 + remappings.txt | 1 + script/DeployModularPermission.s.sol | 74 ++ script/postpack-contracts-package.sh | 4 - script/prepack-contracts-package.sh | 13 - src/Kernel.sol | 25 +- src/common/Types.sol | 10 + src/interfaces/IKernelValidator.sol | 2 +- src/lite/KernelLiteECDSA.sol | 2 +- src/mock/TestValidator.sol | 2 +- src/utils/KernelHelper.sol | 17 +- src/utils/KernelTestBase.sol | 6 + src/validator/ECDSATypedValidator.sol | 2 +- src/validator/ECDSAValidator.sol | 2 +- src/validator/ERC165SessionKeyValidator.sol | 2 +- src/validator/KillSwitchValidator.sol | 2 +- src/validator/SessionKeyValidator.sol | 6 +- src/validator/WeightedECDSAValidator.sol | 2 +- src/validator/modularPermission/IPolicy.sol | 23 + src/validator/modularPermission/ISigner.sol | 17 + .../ModularPermissionValidator.sol | 280 +++++++ .../modularPermission/PolicyConfig.sol | 67 ++ .../modularPermission/mock/MockPolicy.sol | 49 ++ .../modularPermission/mock/MockRequestor.sol | 11 + .../modularPermission/mock/MockSigner.sol | 42 + .../policies/EIP712Policy.sol | 131 ++++ .../policies/ExecutePolicy.sol | 50 ++ .../modularPermission/policies/GasPolicy.sol | 58 ++ .../policies/MerklePolicy.sol | 180 +++++ .../policies/SignaturePolicy.sol | 45 ++ .../modularPermission/policies/SudoPolicy.sol | 29 + .../modularPermission/signers/ECDSASigner.sol | 52 ++ .../signers/WebAuthnSigner.sol | 82 ++ test/foundry/KernelECDSA.t.sol | 8 +- test/foundry/KernelHelper.t.sol | 36 + test/foundry/validator/KernelECDSATyped.t.sol | 12 +- .../modularPermission/ModularPermission.t.sol | 729 ++++++++++++++++++ tsconfig.json | 11 - 65 files changed, 3358 insertions(+), 65 deletions(-) create mode 100644 broadcast/DeployKernel.s.sol/80001/run-1708379656.json create mode 100644 broadcast/DeployKernel.s.sol/80001/run-1708379701.json create mode 100644 broadcast/DeployKernel.s.sol/80001/run-1708379708.json create mode 100644 broadcast/DeployKernel.s.sol/80001/run-latest.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707331759.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707331808.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707331815.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707430304.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707430395.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707439892.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707439906.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707741950.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707741957.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707822518.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1707822525.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1708112110.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1708112117.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1708376910.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1708376917.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1708453269.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-1708453276.json create mode 100644 broadcast/DeployModularPermission.s.sol/80001/run-latest.json delete mode 100644 index.ts create mode 160000 lib/p256-verifier create mode 100644 script/DeployModularPermission.s.sol delete mode 100755 script/postpack-contracts-package.sh delete mode 100755 script/prepack-contracts-package.sh create mode 100644 src/validator/modularPermission/IPolicy.sol create mode 100644 src/validator/modularPermission/ISigner.sol create mode 100644 src/validator/modularPermission/ModularPermissionValidator.sol create mode 100644 src/validator/modularPermission/PolicyConfig.sol create mode 100644 src/validator/modularPermission/mock/MockPolicy.sol create mode 100644 src/validator/modularPermission/mock/MockRequestor.sol create mode 100644 src/validator/modularPermission/mock/MockSigner.sol create mode 100644 src/validator/modularPermission/policies/EIP712Policy.sol create mode 100644 src/validator/modularPermission/policies/ExecutePolicy.sol create mode 100644 src/validator/modularPermission/policies/GasPolicy.sol create mode 100644 src/validator/modularPermission/policies/MerklePolicy.sol create mode 100644 src/validator/modularPermission/policies/SignaturePolicy.sol create mode 100644 src/validator/modularPermission/policies/SudoPolicy.sol create mode 100644 src/validator/modularPermission/signers/ECDSASigner.sol create mode 100644 src/validator/modularPermission/signers/WebAuthnSigner.sol create mode 100644 test/foundry/validator/modularPermission/ModularPermission.t.sol delete mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore index 3978feff..cfe668b2 100644 --- a/.gitignore +++ b/.gitignore @@ -32,3 +32,4 @@ artifacts-selected cache_hardhat lcov.info +settings.json \ No newline at end of file diff --git a/.gitmodules b/.gitmodules index ff8d8f4c..14110192 100644 --- a/.gitmodules +++ b/.gitmodules @@ -9,4 +9,4 @@ url = https://github.com/rdubois-crypto/FreshCryptoLib [submodule "lib/solady"] path = lib/solady - url = https://github.com/vectorized/solady + url = https://github.com/vectorized/solady \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/80001/run-1708379656.json b/broadcast/DeployKernel.s.sol/80001/run-1708379656.json new file mode 100644 index 00000000..b47ca049 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/80001/run-1708379656.json @@ -0,0 +1,31 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x5FC0236D6c88a65beD32EECDC5D60a5CAb377717", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x32ee8b", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b5060405162002c4138038062002c41833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264302e322e3360d81b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612a3b62000206600039600081816101e9015281816105ec015281816108e401528181610ae601528181610bb701528181610c6b01528181610f7b01528181610fff015281816110b7015281816112020152818161129b015261132901526000611c6901526000611d2301526000611cfd01526000611cad01526000611c8a0152612a3b6000f3fe60806040526004361061014f5760003560e01c806354fd4d50116100b6578063b68df16d1161006f578063b68df16d1461060e578063bc197c8114610621578063d087d28814610650578063d1f5789414610665578063d541622114610678578063f23a6e611461068b5761018e565b806354fd4d501461050557806355b14f501461053657806357b750471461054957806384b0196e1461056e57806388e7fd0614610596578063b0d691fe146105da5761018e565b806334fcd5be1161010857806334fcd5be146103885780633659cfe61461039b5780633a871cdd146103ae5780633e1b0812146103c157806351166ba0146103e157806351945447146104f25761018e565b806306fdde03146102615780630b3dc354146102a9578063150b7a02146102e25780631626ba7e1461032757806329f8b17414610347578063333daf921461035a5761018e565b3661018e57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101b56000805160206129fb83398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f000000000000000000000000000000000000000000000000000000000000000016331480159061021d575061021b6106b8565b155b1561023b57604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561025a573d6000f35b3d6000fd5b005b34801561026d57600080fd5b506102936040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102a09190611dcf565b60405180910390f35b3480156102b557600080fd5b50600080516020612a1b8339815191525460501c5b6040516001600160a01b0390911681526020016102a0565b3480156102ee57600080fd5b5061030e6102fd366004611e52565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102a0565b34801561033357600080fd5b5061030e610342366004611ec4565b610800565b61025f610355366004611f3b565b6108d9565b34801561036657600080fd5b5061037a610375366004611ec4565b610ac4565b6040519081526020016102a0565b61025f6103963660046120d9565b610adb565b61025f6103a93660046121df565b610bac565b61037a6103bc3660046121fc565b610c5e565b3480156103cd57600080fd5b5061037a6103dc36600461224f565b610f54565b3480156103ed57600080fd5b506104a56103fc366004612278565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102a0565b61025f610500366004612293565b610ff4565b34801561051157600080fd5b5061029360405180604001604052806005815260200164302e322e3360d81b81525081565b61025f610544366004612302565b6110ac565b34801561055557600080fd5b50600080516020612a1b8339815191525460e01b61030e565b34801561057a57600080fd5b506105836111d0565b6040516102a0979695949392919061233d565b3480156105a257600080fd5b50600080516020612a1b83398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102a0565b3480156105e657600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b61025f61061c3660046123d3565b6111f7565b34801561062d57600080fd5b5061030e61063c366004612466565b63bc197c8160e01b98975050505050505050565b34801561065c57600080fd5b5061037a61127c565b61025f610673366004612302565b611313565b61025f610686366004612278565b61131e565b34801561069757600080fd5b5061030e6106a6366004612524565b63f23a6e6160e01b9695505050505050565b60006106c6336000366113b4565b156106d15750600190565b600080356001600160e01b031916905060006106f86000805160206129fb83398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061075c57508054600160301b900465ffffffffffff161580159061075c5750805442600160301b90910465ffffffffffff16105b80610771575080544265ffffffffffff909116115b1561077f5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107b690339060009036906004016125c8565b6020604051808303816000875af11580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f991906125ed565b9250505090565b60008061080b611447565b60405161190160f01b60208201526022810182905260428101879052909150600090606201604051602081830303815290604052805190602001209050600061085733838989896114ca565b9050600080600061086784611645565b925092509250428365ffffffffffff161115801561088d5750428265ffffffffffff1610155b80156108a057506001600160a01b038116155b156108bb5750630b135d3f60e11b95506108d2945050505050565b506001600160e01b031995506108d2945050505050565b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906109125750333014155b1561093057604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109886000805160206129fb83398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a45908590859060040161260f565b600060405180830381600087803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610ad333858686866114ca565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b195750610b176106b8565b155b15610b3757604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610ba7576000838281518110610b5857610b58612623565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561025a57600187019650505050505050610b3c565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610be55750333014155b15610c0357604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ca957604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cd290828587612639565b610cdb91612663565b90506001600160e01b03198116600003610d15578515610cff573434343489335af1505b610d0a888888611678565b9450505050506108d2565b600080516020612a1b8339815191525460e01b81811615610d3e5763fc2f51c56000526004601cfd5b5060006001600160e01b03198216600160e01b03610e0d5760408301358301601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d946004828688612639565b610d9d91612663565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031694509050610dd6876004818b612639565b82549199509750600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179850505050610e6f565b6001600160e01b03198216600160e11b03610e615760408301358301601f19810135610e50610e40600460008486612639565b610e4991612663565b8888611770565b919a50985096509250610e6f915050565b6001955050505050506108d2565b8615610e7f57343434348a335af1505b6000610e8a8a612691565b905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152604051633a871cdd60e01b8152610f469088906001600160a01b03851690633a871cdd90610efe9086908f908f9060040161279f565b6020604051808303816000875af1158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190612891565b611ad9565b9a9950505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190612891565b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061102d5750333014155b801561103e575061103c6106b8565b155b1561105c57604051637046c88d60e01b815260040160405180910390fd5b6000816001811115611070576110706128aa565b1461108e576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561025a573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110e55750333014155b1561110357604051637046c88d60e01b815260040160405180910390fd5b600080516020612a1b83398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c95955690611198908690869060040161260f565b600060405180830381600087803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111e5611b97565b97989097965046955030945091925090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112305750333014155b8015611241575061123f6106b8565b155b1561125f57604051637046c88d60e01b815260040160405180910390fd5b600080825160208401855af43d6000803e80801561025a573d6000f35b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e9190612891565b905090565b610ba7838383611bd3565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113575750333014155b1561137557604051637046c88d60e01b815260040160405180910390fd5b600080516020612a1b833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b600080516020612a1b83398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd59906113fb908890889088906004016125c8565b6020604051808303816000875af115801561141a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143e91906125ed565b95945050505050565b6000806000611454611b97565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c0909201905280519101209392505050565b600080600080516020612a1b8339815191525460501c9050600080826001600160a01b031663333daf9260e01b89888860405160240161150c939291906128c0565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b0319909516949094179093525161154e928b918e91016128da565b60408051601f19818403018152908290526115689161290e565b600060405180830381855afa9150503d80600081146115a3576040519150601f19603f3d011682016040523d82523d6000602084013e6115a8565b606091505b5091509150816116245760405162461bcd60e51b815260206004820152603860248201527f4b65726e656c3a3a5f76616c69646174655369676e61747572653a206661696c60448201527f656420746f2076616c6964617465207369676e61747572650000000000000000606482015260840160405180910390fd5b808060200190518101906116389190612891565b9998505050505050505050565b600060a082901c65ffffffffffff16828115600019810161166a5765ffffffffffff92505b508360d01c92509193909250565b60008061168485612691565b905061169461014086018661292a565b6116a2916004908290612639565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152600080516020612a1b83398151915254604051633a871cdd60e01b815260509190911c906001600160a01b03821690633a871cdd906117239085908990899060040161279f565b6020604051808303816000875af1158015611742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117669190612891565b9695505050505050565b6000803681611783602460108789612639565b61178c91612970565b60601c9350605860006117a2826038898b612639565b6117ab9161299e565b828101929091508801816117c460208501858b8d612639565b6117cd9161299e565b60001c925060208401935060006118b77f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d60049060249261181693929190612639565b61181f9161299e565b60001c8e8e60249060389261183693929190612639565b61183f91612970565b60601c87876040516118529291906129bc565b60405190819003812061189c95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611c67565b90506119076118db3083848f8f8b908b8d01926118d693929190612639565b6114ca565b8c8c6004906024926118ef93929190612639565b6118f89161299e565b6001600160a01b031916611ad9565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261193793929190612639565b611940916129cc565b60d01c65ffffffffffff1681526020018c8c600a9060109261196493929190612639565b61196d916129cc565b60d01c65ffffffffffff1681526020018c8c60249060389261199193929190612639565b61199a91612970565b60601c6001600160a01b031681526020018c8c6010906024926119bf93929190612639565b6119c891612970565b60601c90526000805160206129fb8339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c95955690611a99908690869060040161260f565b600060405180830381600087803b158015611ab357600080fd5b505af1158015611ac7573d6000803e3d6000fd5b50505050505050505093509350935093565b600081830160601b8260601b81148460601b8214176001600160a01b0384861816151760018114611b0d5760019250611b8f565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b86169081611b525765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611b70575065ffffffffffff60a01b5b808218908211021880611b89575065ffffffffffff60a01b5b92909217915b505092915050565b604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264302e322e3360d81b9083015291565b600080516020612a1b8339815191525460501c6001600160a01b03811615611c0d5760405162dc149f60e41b815260040160405180910390fd5b600080516020612a1b8339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c95955690611198908690869060040161260f565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611d5a5750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b60005b83811015611d9a578181015183820152602001611d82565b50506000910152565b60008151808452611dbb816020860160208601611d7f565b601f01601f19169290920160200192915050565b6020815260006108d26020830184611da3565b6001600160a01b0381168114611df757600080fd5b50565b8035611e0581611de2565b919050565b60008083601f840112611e1c57600080fd5b5081356001600160401b03811115611e3357600080fd5b602083019150836020828501011115611e4b57600080fd5b9250929050565b600080600080600060808688031215611e6a57600080fd5b8535611e7581611de2565b94506020860135611e8581611de2565b93506040860135925060608601356001600160401b03811115611ea757600080fd5b611eb388828901611e0a565b969995985093965092949392505050565b600080600060408486031215611ed957600080fd5b8335925060208401356001600160401b03811115611ef657600080fd5b611f0286828701611e0a565b9497909650939450505050565b80356001600160e01b031981168114611e0557600080fd5b65ffffffffffff81168114611df757600080fd5b600080600080600080600060c0888a031215611f5657600080fd5b611f5f88611f0f565b96506020880135611f6f81611de2565b95506040880135611f7f81611de2565b94506060880135611f8f81611f27565b93506080880135611f9f81611f27565b925060a08801356001600160401b03811115611fba57600080fd5b611fc68a828b01611e0a565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561201157612011611fd9565b60405290565b60405161016081016001600160401b038111828210171561201157612011611fd9565b604051601f8201601f191681016001600160401b038111828210171561206257612062611fd9565b604052919050565b600082601f83011261207b57600080fd5b81356001600160401b0381111561209457612094611fd9565b6120a7601f8201601f191660200161203a565b8181528460208386010111156120bc57600080fd5b816020850160208301376000918101602001919091529392505050565b600060208083850312156120ec57600080fd5b82356001600160401b038082111561210357600080fd5b818501915085601f83011261211757600080fd5b81358181111561212957612129611fd9565b8060051b61213885820161203a565b918252838101850191858101908984111561215257600080fd5b86860192505b83831015611638578235858111156121705760008081fd5b86016060818c03601f19018113156121885760008081fd5b612190611fef565b8983013561219d81611de2565b81526040838101358b8301529183013591888311156121bc5760008081fd5b6121ca8e8c8587010161206a565b90820152845250509186019190860190612158565b6000602082840312156121f157600080fd5b81356108d281611de2565b60008060006060848603121561221157600080fd5b83356001600160401b0381111561222757600080fd5b8401610160818703121561223a57600080fd5b95602085013595506040909401359392505050565b60006020828403121561226157600080fd5b81356001600160c01b03811681146108d257600080fd5b60006020828403121561228a57600080fd5b6108d282611f0f565b600080600080608085870312156122a957600080fd5b84356122b481611de2565b93506020850135925060408501356001600160401b038111156122d657600080fd5b6122e28782880161206a565b9250506060850135600281106122f757600080fd5b939692955090935050565b60008060006040848603121561231757600080fd5b833561232281611de2565b925060208401356001600160401b03811115611ef657600080fd5b60ff60f81b881681526000602060e08184015261235d60e084018a611da3565b838103604085015261236f818a611da3565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156123c1578351835292840192918401916001016123a5565b50909c9b505050505050505050505050565b600080604083850312156123e657600080fd5b82356123f181611de2565b915060208301356001600160401b0381111561240c57600080fd5b6124188582860161206a565b9150509250929050565b60008083601f84011261243457600080fd5b5081356001600160401b0381111561244b57600080fd5b6020830191508360208260051b8501011115611e4b57600080fd5b60008060008060008060008060a0898b03121561248257600080fd5b883561248d81611de2565b9750602089013561249d81611de2565b965060408901356001600160401b03808211156124b957600080fd5b6124c58c838d01612422565b909850965060608b01359150808211156124de57600080fd5b6124ea8c838d01612422565b909650945060808b013591508082111561250357600080fd5b506125108b828c01611e0a565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561253d57600080fd5b863561254881611de2565b9550602087013561255881611de2565b9450604087013593506060870135925060808701356001600160401b0381111561258157600080fd5b61258d89828a01611e0a565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061143e908301848661259f565b6000602082840312156125ff57600080fd5b815180151581146108d257600080fd5b602081526000610ad360208301848661259f565b634e487b7160e01b600052603260045260246000fd5b6000808585111561264957600080fd5b8386111561265657600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611b8f5760049490940360031b84901b1690921692915050565b600061016082360312156126a457600080fd5b6126ac612017565b6126b583611dfa565b81526020830135602082015260408301356001600160401b03808211156126db57600080fd5b6126e73683870161206a565b6040840152606085013591508082111561270057600080fd5b61270c3683870161206a565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561275c57600080fd5b6127683682880161206a565b83850152506101409150818501358181111561278357600080fd5b61278f3682880161206a565b8385015250505080915050919050565b606081526127b96060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526127e16101c0850183611da3565b91506060870151605f19808685030160c08701526127ff8483611da3565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261285b8787611da3565b9650808c0151955050505080868503016101a0870152505061287d8282611da3565b602085019690965250505060400152919050565b6000602082840312156128a357600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b83815260406020820152600061143e60408301848661259f565b600084516128ec818460208901611d7f565b919091019283525060601b6001600160601b0319166020820152603401919050565b60008251612920818460208701611d7f565b9190910192915050565b6000808335601e1984360301811261294157600080fd5b8301803591506001600160401b0382111561295b57600080fd5b602001915036819003821315611e4b57600080fd5b6001600160601b03198135818116916014851015611b8f5760149490940360031b84901b1690921692915050565b80356020831015610fee57600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b03198135818116916006851015611b8f5760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x95ea" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1708379656, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/80001/run-1708379701.json b/broadcast/DeployKernel.s.sol/80001/run-1708379701.json new file mode 100644 index 00000000..1db8adf8 --- /dev/null +++ b/broadcast/DeployKernel.s.sol/80001/run-1708379701.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x98cccb650873fecf2ce04c1c7c631814d4be62760bc179f425742be214a4bfd5", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x5FC0236D6c88a65beD32EECDC5D60a5CAb377717", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x32ee8b", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b5060405162002c4138038062002c41833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264302e322e3360d81b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612a3b62000206600039600081816101e9015281816105ec015281816108e401528181610ae601528181610bb701528181610c6b01528181610f7b01528181610fff015281816110b7015281816112020152818161129b015261132901526000611c6901526000611d2301526000611cfd01526000611cad01526000611c8a0152612a3b6000f3fe60806040526004361061014f5760003560e01c806354fd4d50116100b6578063b68df16d1161006f578063b68df16d1461060e578063bc197c8114610621578063d087d28814610650578063d1f5789414610665578063d541622114610678578063f23a6e611461068b5761018e565b806354fd4d501461050557806355b14f501461053657806357b750471461054957806384b0196e1461056e57806388e7fd0614610596578063b0d691fe146105da5761018e565b806334fcd5be1161010857806334fcd5be146103885780633659cfe61461039b5780633a871cdd146103ae5780633e1b0812146103c157806351166ba0146103e157806351945447146104f25761018e565b806306fdde03146102615780630b3dc354146102a9578063150b7a02146102e25780631626ba7e1461032757806329f8b17414610347578063333daf921461035a5761018e565b3661018e57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101b56000805160206129fb83398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f000000000000000000000000000000000000000000000000000000000000000016331480159061021d575061021b6106b8565b155b1561023b57604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561025a573d6000f35b3d6000fd5b005b34801561026d57600080fd5b506102936040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102a09190611dcf565b60405180910390f35b3480156102b557600080fd5b50600080516020612a1b8339815191525460501c5b6040516001600160a01b0390911681526020016102a0565b3480156102ee57600080fd5b5061030e6102fd366004611e52565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102a0565b34801561033357600080fd5b5061030e610342366004611ec4565b610800565b61025f610355366004611f3b565b6108d9565b34801561036657600080fd5b5061037a610375366004611ec4565b610ac4565b6040519081526020016102a0565b61025f6103963660046120d9565b610adb565b61025f6103a93660046121df565b610bac565b61037a6103bc3660046121fc565b610c5e565b3480156103cd57600080fd5b5061037a6103dc36600461224f565b610f54565b3480156103ed57600080fd5b506104a56103fc366004612278565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102a0565b61025f610500366004612293565b610ff4565b34801561051157600080fd5b5061029360405180604001604052806005815260200164302e322e3360d81b81525081565b61025f610544366004612302565b6110ac565b34801561055557600080fd5b50600080516020612a1b8339815191525460e01b61030e565b34801561057a57600080fd5b506105836111d0565b6040516102a0979695949392919061233d565b3480156105a257600080fd5b50600080516020612a1b83398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102a0565b3480156105e657600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b61025f61061c3660046123d3565b6111f7565b34801561062d57600080fd5b5061030e61063c366004612466565b63bc197c8160e01b98975050505050505050565b34801561065c57600080fd5b5061037a61127c565b61025f610673366004612302565b611313565b61025f610686366004612278565b61131e565b34801561069757600080fd5b5061030e6106a6366004612524565b63f23a6e6160e01b9695505050505050565b60006106c6336000366113b4565b156106d15750600190565b600080356001600160e01b031916905060006106f86000805160206129fb83398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061075c57508054600160301b900465ffffffffffff161580159061075c5750805442600160301b90910465ffffffffffff16105b80610771575080544265ffffffffffff909116115b1561077f5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107b690339060009036906004016125c8565b6020604051808303816000875af11580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f991906125ed565b9250505090565b60008061080b611447565b60405161190160f01b60208201526022810182905260428101879052909150600090606201604051602081830303815290604052805190602001209050600061085733838989896114ca565b9050600080600061086784611645565b925092509250428365ffffffffffff161115801561088d5750428265ffffffffffff1610155b80156108a057506001600160a01b038116155b156108bb5750630b135d3f60e11b95506108d2945050505050565b506001600160e01b031995506108d2945050505050565b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906109125750333014155b1561093057604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109886000805160206129fb83398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a45908590859060040161260f565b600060405180830381600087803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610ad333858686866114ca565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b195750610b176106b8565b155b15610b3757604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610ba7576000838281518110610b5857610b58612623565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561025a57600187019650505050505050610b3c565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610be55750333014155b15610c0357604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ca957604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cd290828587612639565b610cdb91612663565b90506001600160e01b03198116600003610d15578515610cff573434343489335af1505b610d0a888888611678565b9450505050506108d2565b600080516020612a1b8339815191525460e01b81811615610d3e5763fc2f51c56000526004601cfd5b5060006001600160e01b03198216600160e01b03610e0d5760408301358301601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d946004828688612639565b610d9d91612663565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031694509050610dd6876004818b612639565b82549199509750600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179850505050610e6f565b6001600160e01b03198216600160e11b03610e615760408301358301601f19810135610e50610e40600460008486612639565b610e4991612663565b8888611770565b919a50985096509250610e6f915050565b6001955050505050506108d2565b8615610e7f57343434348a335af1505b6000610e8a8a612691565b905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152604051633a871cdd60e01b8152610f469088906001600160a01b03851690633a871cdd90610efe9086908f908f9060040161279f565b6020604051808303816000875af1158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190612891565b611ad9565b9a9950505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190612891565b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061102d5750333014155b801561103e575061103c6106b8565b155b1561105c57604051637046c88d60e01b815260040160405180910390fd5b6000816001811115611070576110706128aa565b1461108e576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561025a573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110e55750333014155b1561110357604051637046c88d60e01b815260040160405180910390fd5b600080516020612a1b83398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c95955690611198908690869060040161260f565b600060405180830381600087803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111e5611b97565b97989097965046955030945091925090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112305750333014155b8015611241575061123f6106b8565b155b1561125f57604051637046c88d60e01b815260040160405180910390fd5b600080825160208401855af43d6000803e80801561025a573d6000f35b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e9190612891565b905090565b610ba7838383611bd3565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113575750333014155b1561137557604051637046c88d60e01b815260040160405180910390fd5b600080516020612a1b833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b600080516020612a1b83398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd59906113fb908890889088906004016125c8565b6020604051808303816000875af115801561141a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143e91906125ed565b95945050505050565b6000806000611454611b97565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c0909201905280519101209392505050565b600080600080516020612a1b8339815191525460501c9050600080826001600160a01b031663333daf9260e01b89888860405160240161150c939291906128c0565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b0319909516949094179093525161154e928b918e91016128da565b60408051601f19818403018152908290526115689161290e565b600060405180830381855afa9150503d80600081146115a3576040519150601f19603f3d011682016040523d82523d6000602084013e6115a8565b606091505b5091509150816116245760405162461bcd60e51b815260206004820152603860248201527f4b65726e656c3a3a5f76616c69646174655369676e61747572653a206661696c60448201527f656420746f2076616c6964617465207369676e61747572650000000000000000606482015260840160405180910390fd5b808060200190518101906116389190612891565b9998505050505050505050565b600060a082901c65ffffffffffff16828115600019810161166a5765ffffffffffff92505b508360d01c92509193909250565b60008061168485612691565b905061169461014086018661292a565b6116a2916004908290612639565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152600080516020612a1b83398151915254604051633a871cdd60e01b815260509190911c906001600160a01b03821690633a871cdd906117239085908990899060040161279f565b6020604051808303816000875af1158015611742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117669190612891565b9695505050505050565b6000803681611783602460108789612639565b61178c91612970565b60601c9350605860006117a2826038898b612639565b6117ab9161299e565b828101929091508801816117c460208501858b8d612639565b6117cd9161299e565b60001c925060208401935060006118b77f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d60049060249261181693929190612639565b61181f9161299e565b60001c8e8e60249060389261183693929190612639565b61183f91612970565b60601c87876040516118529291906129bc565b60405190819003812061189c95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611c67565b90506119076118db3083848f8f8b908b8d01926118d693929190612639565b6114ca565b8c8c6004906024926118ef93929190612639565b6118f89161299e565b6001600160a01b031916611ad9565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261193793929190612639565b611940916129cc565b60d01c65ffffffffffff1681526020018c8c600a9060109261196493929190612639565b61196d916129cc565b60d01c65ffffffffffff1681526020018c8c60249060389261199193929190612639565b61199a91612970565b60601c6001600160a01b031681526020018c8c6010906024926119bf93929190612639565b6119c891612970565b60601c90526000805160206129fb8339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c95955690611a99908690869060040161260f565b600060405180830381600087803b158015611ab357600080fd5b505af1158015611ac7573d6000803e3d6000fd5b50505050505050505093509350935093565b600081830160601b8260601b81148460601b8214176001600160a01b0384861816151760018114611b0d5760019250611b8f565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b86169081611b525765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611b70575065ffffffffffff60a01b5b808218908211021880611b89575065ffffffffffff60a01b5b92909217915b505092915050565b604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264302e322e3360d81b9083015291565b600080516020612a1b8339815191525460501c6001600160a01b03811615611c0d5760405162dc149f60e41b815260040160405180910390fd5b600080516020612a1b8339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c95955690611198908690869060040161260f565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611d5a5750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b60005b83811015611d9a578181015183820152602001611d82565b50506000910152565b60008151808452611dbb816020860160208601611d7f565b601f01601f19169290920160200192915050565b6020815260006108d26020830184611da3565b6001600160a01b0381168114611df757600080fd5b50565b8035611e0581611de2565b919050565b60008083601f840112611e1c57600080fd5b5081356001600160401b03811115611e3357600080fd5b602083019150836020828501011115611e4b57600080fd5b9250929050565b600080600080600060808688031215611e6a57600080fd5b8535611e7581611de2565b94506020860135611e8581611de2565b93506040860135925060608601356001600160401b03811115611ea757600080fd5b611eb388828901611e0a565b969995985093965092949392505050565b600080600060408486031215611ed957600080fd5b8335925060208401356001600160401b03811115611ef657600080fd5b611f0286828701611e0a565b9497909650939450505050565b80356001600160e01b031981168114611e0557600080fd5b65ffffffffffff81168114611df757600080fd5b600080600080600080600060c0888a031215611f5657600080fd5b611f5f88611f0f565b96506020880135611f6f81611de2565b95506040880135611f7f81611de2565b94506060880135611f8f81611f27565b93506080880135611f9f81611f27565b925060a08801356001600160401b03811115611fba57600080fd5b611fc68a828b01611e0a565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561201157612011611fd9565b60405290565b60405161016081016001600160401b038111828210171561201157612011611fd9565b604051601f8201601f191681016001600160401b038111828210171561206257612062611fd9565b604052919050565b600082601f83011261207b57600080fd5b81356001600160401b0381111561209457612094611fd9565b6120a7601f8201601f191660200161203a565b8181528460208386010111156120bc57600080fd5b816020850160208301376000918101602001919091529392505050565b600060208083850312156120ec57600080fd5b82356001600160401b038082111561210357600080fd5b818501915085601f83011261211757600080fd5b81358181111561212957612129611fd9565b8060051b61213885820161203a565b918252838101850191858101908984111561215257600080fd5b86860192505b83831015611638578235858111156121705760008081fd5b86016060818c03601f19018113156121885760008081fd5b612190611fef565b8983013561219d81611de2565b81526040838101358b8301529183013591888311156121bc5760008081fd5b6121ca8e8c8587010161206a565b90820152845250509186019190860190612158565b6000602082840312156121f157600080fd5b81356108d281611de2565b60008060006060848603121561221157600080fd5b83356001600160401b0381111561222757600080fd5b8401610160818703121561223a57600080fd5b95602085013595506040909401359392505050565b60006020828403121561226157600080fd5b81356001600160c01b03811681146108d257600080fd5b60006020828403121561228a57600080fd5b6108d282611f0f565b600080600080608085870312156122a957600080fd5b84356122b481611de2565b93506020850135925060408501356001600160401b038111156122d657600080fd5b6122e28782880161206a565b9250506060850135600281106122f757600080fd5b939692955090935050565b60008060006040848603121561231757600080fd5b833561232281611de2565b925060208401356001600160401b03811115611ef657600080fd5b60ff60f81b881681526000602060e08184015261235d60e084018a611da3565b838103604085015261236f818a611da3565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156123c1578351835292840192918401916001016123a5565b50909c9b505050505050505050505050565b600080604083850312156123e657600080fd5b82356123f181611de2565b915060208301356001600160401b0381111561240c57600080fd5b6124188582860161206a565b9150509250929050565b60008083601f84011261243457600080fd5b5081356001600160401b0381111561244b57600080fd5b6020830191508360208260051b8501011115611e4b57600080fd5b60008060008060008060008060a0898b03121561248257600080fd5b883561248d81611de2565b9750602089013561249d81611de2565b965060408901356001600160401b03808211156124b957600080fd5b6124c58c838d01612422565b909850965060608b01359150808211156124de57600080fd5b6124ea8c838d01612422565b909650945060808b013591508082111561250357600080fd5b506125108b828c01611e0a565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561253d57600080fd5b863561254881611de2565b9550602087013561255881611de2565b9450604087013593506060870135925060808701356001600160401b0381111561258157600080fd5b61258d89828a01611e0a565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061143e908301848661259f565b6000602082840312156125ff57600080fd5b815180151581146108d257600080fd5b602081526000610ad360208301848661259f565b634e487b7160e01b600052603260045260246000fd5b6000808585111561264957600080fd5b8386111561265657600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611b8f5760049490940360031b84901b1690921692915050565b600061016082360312156126a457600080fd5b6126ac612017565b6126b583611dfa565b81526020830135602082015260408301356001600160401b03808211156126db57600080fd5b6126e73683870161206a565b6040840152606085013591508082111561270057600080fd5b61270c3683870161206a565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561275c57600080fd5b6127683682880161206a565b83850152506101409150818501358181111561278357600080fd5b61278f3682880161206a565b8385015250505080915050919050565b606081526127b96060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526127e16101c0850183611da3565b91506060870151605f19808685030160c08701526127ff8483611da3565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261285b8787611da3565b9650808c0151955050505080868503016101a0870152505061287d8282611da3565b602085019690965250505060400152919050565b6000602082840312156128a357600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b83815260406020820152600061143e60408301848661259f565b600084516128ec818460208901611d7f565b919091019283525060601b6001600160601b0319166020820152603401919050565b60008251612920818460208701611d7f565b9190910192915050565b6000808335601e1984360301811261294157600080fd5b8301803591506001600160401b0382111561295b57600080fd5b602001915036819003821315611e4b57600080fd5b6001600160601b03198135818116916014851015611b8f5760149490940360031b84901b1690921692915050565b80356020831015610fee57600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b03198135818116916006851015611b8f5760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1db" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x98cccb650873fecf2ce04c1c7c631814d4be62760bc179f425742be214a4bfd5" + ], + "returns": {}, + "timestamp": 1708379701, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/80001/run-1708379708.json b/broadcast/DeployKernel.s.sol/80001/run-1708379708.json new file mode 100644 index 00000000..8290830e --- /dev/null +++ b/broadcast/DeployKernel.s.sol/80001/run-1708379708.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x98cccb650873fecf2ce04c1c7c631814d4be62760bc179f425742be214a4bfd5", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x5FC0236D6c88a65beD32EECDC5D60a5CAb377717", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x32ee8b", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b5060405162002c4138038062002c41833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264302e322e3360d81b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612a3b62000206600039600081816101e9015281816105ec015281816108e401528181610ae601528181610bb701528181610c6b01528181610f7b01528181610fff015281816110b7015281816112020152818161129b015261132901526000611c6901526000611d2301526000611cfd01526000611cad01526000611c8a0152612a3b6000f3fe60806040526004361061014f5760003560e01c806354fd4d50116100b6578063b68df16d1161006f578063b68df16d1461060e578063bc197c8114610621578063d087d28814610650578063d1f5789414610665578063d541622114610678578063f23a6e611461068b5761018e565b806354fd4d501461050557806355b14f501461053657806357b750471461054957806384b0196e1461056e57806388e7fd0614610596578063b0d691fe146105da5761018e565b806334fcd5be1161010857806334fcd5be146103885780633659cfe61461039b5780633a871cdd146103ae5780633e1b0812146103c157806351166ba0146103e157806351945447146104f25761018e565b806306fdde03146102615780630b3dc354146102a9578063150b7a02146102e25780631626ba7e1461032757806329f8b17414610347578063333daf921461035a5761018e565b3661018e57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101b56000805160206129fb83398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f000000000000000000000000000000000000000000000000000000000000000016331480159061021d575061021b6106b8565b155b1561023b57604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561025a573d6000f35b3d6000fd5b005b34801561026d57600080fd5b506102936040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102a09190611dcf565b60405180910390f35b3480156102b557600080fd5b50600080516020612a1b8339815191525460501c5b6040516001600160a01b0390911681526020016102a0565b3480156102ee57600080fd5b5061030e6102fd366004611e52565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102a0565b34801561033357600080fd5b5061030e610342366004611ec4565b610800565b61025f610355366004611f3b565b6108d9565b34801561036657600080fd5b5061037a610375366004611ec4565b610ac4565b6040519081526020016102a0565b61025f6103963660046120d9565b610adb565b61025f6103a93660046121df565b610bac565b61037a6103bc3660046121fc565b610c5e565b3480156103cd57600080fd5b5061037a6103dc36600461224f565b610f54565b3480156103ed57600080fd5b506104a56103fc366004612278565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102a0565b61025f610500366004612293565b610ff4565b34801561051157600080fd5b5061029360405180604001604052806005815260200164302e322e3360d81b81525081565b61025f610544366004612302565b6110ac565b34801561055557600080fd5b50600080516020612a1b8339815191525460e01b61030e565b34801561057a57600080fd5b506105836111d0565b6040516102a0979695949392919061233d565b3480156105a257600080fd5b50600080516020612a1b83398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102a0565b3480156105e657600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b61025f61061c3660046123d3565b6111f7565b34801561062d57600080fd5b5061030e61063c366004612466565b63bc197c8160e01b98975050505050505050565b34801561065c57600080fd5b5061037a61127c565b61025f610673366004612302565b611313565b61025f610686366004612278565b61131e565b34801561069757600080fd5b5061030e6106a6366004612524565b63f23a6e6160e01b9695505050505050565b60006106c6336000366113b4565b156106d15750600190565b600080356001600160e01b031916905060006106f86000805160206129fb83398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061075c57508054600160301b900465ffffffffffff161580159061075c5750805442600160301b90910465ffffffffffff16105b80610771575080544265ffffffffffff909116115b1561077f5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107b690339060009036906004016125c8565b6020604051808303816000875af11580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f991906125ed565b9250505090565b60008061080b611447565b60405161190160f01b60208201526022810182905260428101879052909150600090606201604051602081830303815290604052805190602001209050600061085733838989896114ca565b9050600080600061086784611645565b925092509250428365ffffffffffff161115801561088d5750428265ffffffffffff1610155b80156108a057506001600160a01b038116155b156108bb5750630b135d3f60e11b95506108d2945050505050565b506001600160e01b031995506108d2945050505050565b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906109125750333014155b1561093057604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109886000805160206129fb83398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a45908590859060040161260f565b600060405180830381600087803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610ad333858686866114ca565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b195750610b176106b8565b155b15610b3757604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610ba7576000838281518110610b5857610b58612623565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561025a57600187019650505050505050610b3c565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610be55750333014155b15610c0357604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ca957604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cd290828587612639565b610cdb91612663565b90506001600160e01b03198116600003610d15578515610cff573434343489335af1505b610d0a888888611678565b9450505050506108d2565b600080516020612a1b8339815191525460e01b81811615610d3e5763fc2f51c56000526004601cfd5b5060006001600160e01b03198216600160e01b03610e0d5760408301358301601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d946004828688612639565b610d9d91612663565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031694509050610dd6876004818b612639565b82549199509750600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179850505050610e6f565b6001600160e01b03198216600160e11b03610e615760408301358301601f19810135610e50610e40600460008486612639565b610e4991612663565b8888611770565b919a50985096509250610e6f915050565b6001955050505050506108d2565b8615610e7f57343434348a335af1505b6000610e8a8a612691565b905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152604051633a871cdd60e01b8152610f469088906001600160a01b03851690633a871cdd90610efe9086908f908f9060040161279f565b6020604051808303816000875af1158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190612891565b611ad9565b9a9950505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190612891565b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061102d5750333014155b801561103e575061103c6106b8565b155b1561105c57604051637046c88d60e01b815260040160405180910390fd5b6000816001811115611070576110706128aa565b1461108e576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561025a573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110e55750333014155b1561110357604051637046c88d60e01b815260040160405180910390fd5b600080516020612a1b83398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c95955690611198908690869060040161260f565b600060405180830381600087803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111e5611b97565b97989097965046955030945091925090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112305750333014155b8015611241575061123f6106b8565b155b1561125f57604051637046c88d60e01b815260040160405180910390fd5b600080825160208401855af43d6000803e80801561025a573d6000f35b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e9190612891565b905090565b610ba7838383611bd3565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113575750333014155b1561137557604051637046c88d60e01b815260040160405180910390fd5b600080516020612a1b833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b600080516020612a1b83398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd59906113fb908890889088906004016125c8565b6020604051808303816000875af115801561141a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143e91906125ed565b95945050505050565b6000806000611454611b97565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c0909201905280519101209392505050565b600080600080516020612a1b8339815191525460501c9050600080826001600160a01b031663333daf9260e01b89888860405160240161150c939291906128c0565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b0319909516949094179093525161154e928b918e91016128da565b60408051601f19818403018152908290526115689161290e565b600060405180830381855afa9150503d80600081146115a3576040519150601f19603f3d011682016040523d82523d6000602084013e6115a8565b606091505b5091509150816116245760405162461bcd60e51b815260206004820152603860248201527f4b65726e656c3a3a5f76616c69646174655369676e61747572653a206661696c60448201527f656420746f2076616c6964617465207369676e61747572650000000000000000606482015260840160405180910390fd5b808060200190518101906116389190612891565b9998505050505050505050565b600060a082901c65ffffffffffff16828115600019810161166a5765ffffffffffff92505b508360d01c92509193909250565b60008061168485612691565b905061169461014086018661292a565b6116a2916004908290612639565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152600080516020612a1b83398151915254604051633a871cdd60e01b815260509190911c906001600160a01b03821690633a871cdd906117239085908990899060040161279f565b6020604051808303816000875af1158015611742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117669190612891565b9695505050505050565b6000803681611783602460108789612639565b61178c91612970565b60601c9350605860006117a2826038898b612639565b6117ab9161299e565b828101929091508801816117c460208501858b8d612639565b6117cd9161299e565b60001c925060208401935060006118b77f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d60049060249261181693929190612639565b61181f9161299e565b60001c8e8e60249060389261183693929190612639565b61183f91612970565b60601c87876040516118529291906129bc565b60405190819003812061189c95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611c67565b90506119076118db3083848f8f8b908b8d01926118d693929190612639565b6114ca565b8c8c6004906024926118ef93929190612639565b6118f89161299e565b6001600160a01b031916611ad9565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261193793929190612639565b611940916129cc565b60d01c65ffffffffffff1681526020018c8c600a9060109261196493929190612639565b61196d916129cc565b60d01c65ffffffffffff1681526020018c8c60249060389261199193929190612639565b61199a91612970565b60601c6001600160a01b031681526020018c8c6010906024926119bf93929190612639565b6119c891612970565b60601c90526000805160206129fb8339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c95955690611a99908690869060040161260f565b600060405180830381600087803b158015611ab357600080fd5b505af1158015611ac7573d6000803e3d6000fd5b50505050505050505093509350935093565b600081830160601b8260601b81148460601b8214176001600160a01b0384861816151760018114611b0d5760019250611b8f565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b86169081611b525765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611b70575065ffffffffffff60a01b5b808218908211021880611b89575065ffffffffffff60a01b5b92909217915b505092915050565b604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264302e322e3360d81b9083015291565b600080516020612a1b8339815191525460501c6001600160a01b03811615611c0d5760405162dc149f60e41b815260040160405180910390fd5b600080516020612a1b8339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c95955690611198908690869060040161260f565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611d5a5750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b60005b83811015611d9a578181015183820152602001611d82565b50506000910152565b60008151808452611dbb816020860160208601611d7f565b601f01601f19169290920160200192915050565b6020815260006108d26020830184611da3565b6001600160a01b0381168114611df757600080fd5b50565b8035611e0581611de2565b919050565b60008083601f840112611e1c57600080fd5b5081356001600160401b03811115611e3357600080fd5b602083019150836020828501011115611e4b57600080fd5b9250929050565b600080600080600060808688031215611e6a57600080fd5b8535611e7581611de2565b94506020860135611e8581611de2565b93506040860135925060608601356001600160401b03811115611ea757600080fd5b611eb388828901611e0a565b969995985093965092949392505050565b600080600060408486031215611ed957600080fd5b8335925060208401356001600160401b03811115611ef657600080fd5b611f0286828701611e0a565b9497909650939450505050565b80356001600160e01b031981168114611e0557600080fd5b65ffffffffffff81168114611df757600080fd5b600080600080600080600060c0888a031215611f5657600080fd5b611f5f88611f0f565b96506020880135611f6f81611de2565b95506040880135611f7f81611de2565b94506060880135611f8f81611f27565b93506080880135611f9f81611f27565b925060a08801356001600160401b03811115611fba57600080fd5b611fc68a828b01611e0a565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561201157612011611fd9565b60405290565b60405161016081016001600160401b038111828210171561201157612011611fd9565b604051601f8201601f191681016001600160401b038111828210171561206257612062611fd9565b604052919050565b600082601f83011261207b57600080fd5b81356001600160401b0381111561209457612094611fd9565b6120a7601f8201601f191660200161203a565b8181528460208386010111156120bc57600080fd5b816020850160208301376000918101602001919091529392505050565b600060208083850312156120ec57600080fd5b82356001600160401b038082111561210357600080fd5b818501915085601f83011261211757600080fd5b81358181111561212957612129611fd9565b8060051b61213885820161203a565b918252838101850191858101908984111561215257600080fd5b86860192505b83831015611638578235858111156121705760008081fd5b86016060818c03601f19018113156121885760008081fd5b612190611fef565b8983013561219d81611de2565b81526040838101358b8301529183013591888311156121bc5760008081fd5b6121ca8e8c8587010161206a565b90820152845250509186019190860190612158565b6000602082840312156121f157600080fd5b81356108d281611de2565b60008060006060848603121561221157600080fd5b83356001600160401b0381111561222757600080fd5b8401610160818703121561223a57600080fd5b95602085013595506040909401359392505050565b60006020828403121561226157600080fd5b81356001600160c01b03811681146108d257600080fd5b60006020828403121561228a57600080fd5b6108d282611f0f565b600080600080608085870312156122a957600080fd5b84356122b481611de2565b93506020850135925060408501356001600160401b038111156122d657600080fd5b6122e28782880161206a565b9250506060850135600281106122f757600080fd5b939692955090935050565b60008060006040848603121561231757600080fd5b833561232281611de2565b925060208401356001600160401b03811115611ef657600080fd5b60ff60f81b881681526000602060e08184015261235d60e084018a611da3565b838103604085015261236f818a611da3565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156123c1578351835292840192918401916001016123a5565b50909c9b505050505050505050505050565b600080604083850312156123e657600080fd5b82356123f181611de2565b915060208301356001600160401b0381111561240c57600080fd5b6124188582860161206a565b9150509250929050565b60008083601f84011261243457600080fd5b5081356001600160401b0381111561244b57600080fd5b6020830191508360208260051b8501011115611e4b57600080fd5b60008060008060008060008060a0898b03121561248257600080fd5b883561248d81611de2565b9750602089013561249d81611de2565b965060408901356001600160401b03808211156124b957600080fd5b6124c58c838d01612422565b909850965060608b01359150808211156124de57600080fd5b6124ea8c838d01612422565b909650945060808b013591508082111561250357600080fd5b506125108b828c01611e0a565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561253d57600080fd5b863561254881611de2565b9550602087013561255881611de2565b9450604087013593506060870135925060808701356001600160401b0381111561258157600080fd5b61258d89828a01611e0a565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061143e908301848661259f565b6000602082840312156125ff57600080fd5b815180151581146108d257600080fd5b602081526000610ad360208301848661259f565b634e487b7160e01b600052603260045260246000fd5b6000808585111561264957600080fd5b8386111561265657600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611b8f5760049490940360031b84901b1690921692915050565b600061016082360312156126a457600080fd5b6126ac612017565b6126b583611dfa565b81526020830135602082015260408301356001600160401b03808211156126db57600080fd5b6126e73683870161206a565b6040840152606085013591508082111561270057600080fd5b61270c3683870161206a565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561275c57600080fd5b6127683682880161206a565b83850152506101409150818501358181111561278357600080fd5b61278f3682880161206a565b8385015250505080915050919050565b606081526127b96060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526127e16101c0850183611da3565b91506060870151605f19808685030160c08701526127ff8483611da3565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261285b8787611da3565b9650808c0151955050505080868503016101a0870152505061287d8282611da3565b602085019690965250505060400152919050565b6000602082840312156128a357600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b83815260406020820152600061143e60408301848661259f565b600084516128ec818460208901611d7f565b919091019283525060601b6001600160601b0319166020820152603401919050565b60008251612920818460208701611d7f565b9190910192915050565b6000808335601e1984360301811261294157600080fd5b8301803591506001600160401b0382111561295b57600080fd5b602001915036819003821315611e4b57600080fd5b6001600160601b03198135818116916014851015611b8f5760149490940360031b84901b1690921692915050565b80356020831015610fee57600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b03198135818116916006851015611b8f5760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1db" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x98cccb650873fecf2ce04c1c7c631814d4be62760bc179f425742be214a4bfd5", + "transactionIndex": "0x5", + "blockHash": "0x646d03a5c531523d64b9ab9b5850c6acd8e2bf288af463682ba20fee3db0bbd3", + "blockNumber": "0x2bfa041", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x2d5257", + "gasUsed": "0x24e274", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000c26880a0af2ea0c7e8130e6ec47af756465452e8" + ], + "data": "0x000000000000000000000000000000000000000000000000002846178c2af7e000000000000000000000000000000000000000000000000002871cce0617f7890000000000000000000000000000000000000000000023ad78b1a2609c9b5ec9000000000000000000000000000000000000000000000000025ed6b679ecffa90000000000000000000000000000000000000000000023ad78d9e87828c656a9", + "blockHash": "0x646d03a5c531523d64b9ab9b5850c6acd8e2bf288af463682ba20fee3db0bbd3", + "blockNumber": "0x2bfa041", + "transactionHash": "0x98cccb650873fecf2ce04c1c7c631814d4be62760bc179f425742be214a4bfd5", + "transactionIndex": "0x5", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000020000000000000000001000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x11785e867" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1708379708, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/broadcast/DeployKernel.s.sol/80001/run-latest.json b/broadcast/DeployKernel.s.sol/80001/run-latest.json new file mode 100644 index 00000000..8290830e --- /dev/null +++ b/broadcast/DeployKernel.s.sol/80001/run-latest.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x98cccb650873fecf2ce04c1c7c631814d4be62760bc179f425742be214a4bfd5", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0x5FC0236D6c88a65beD32EECDC5D60a5CAb377717", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x32ee8b", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b5060405162002c4138038062002c41833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264302e322e3360d81b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612a3b62000206600039600081816101e9015281816105ec015281816108e401528181610ae601528181610bb701528181610c6b01528181610f7b01528181610fff015281816110b7015281816112020152818161129b015261132901526000611c6901526000611d2301526000611cfd01526000611cad01526000611c8a0152612a3b6000f3fe60806040526004361061014f5760003560e01c806354fd4d50116100b6578063b68df16d1161006f578063b68df16d1461060e578063bc197c8114610621578063d087d28814610650578063d1f5789414610665578063d541622114610678578063f23a6e611461068b5761018e565b806354fd4d501461050557806355b14f501461053657806357b750471461054957806384b0196e1461056e57806388e7fd0614610596578063b0d691fe146105da5761018e565b806334fcd5be1161010857806334fcd5be146103885780633659cfe61461039b5780633a871cdd146103ae5780633e1b0812146103c157806351166ba0146103e157806351945447146104f25761018e565b806306fdde03146102615780630b3dc354146102a9578063150b7a02146102e25780631626ba7e1461032757806329f8b17414610347578063333daf921461035a5761018e565b3661018e57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101b56000805160206129fb83398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f000000000000000000000000000000000000000000000000000000000000000016331480159061021d575061021b6106b8565b155b1561023b57604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561025a573d6000f35b3d6000fd5b005b34801561026d57600080fd5b506102936040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102a09190611dcf565b60405180910390f35b3480156102b557600080fd5b50600080516020612a1b8339815191525460501c5b6040516001600160a01b0390911681526020016102a0565b3480156102ee57600080fd5b5061030e6102fd366004611e52565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102a0565b34801561033357600080fd5b5061030e610342366004611ec4565b610800565b61025f610355366004611f3b565b6108d9565b34801561036657600080fd5b5061037a610375366004611ec4565b610ac4565b6040519081526020016102a0565b61025f6103963660046120d9565b610adb565b61025f6103a93660046121df565b610bac565b61037a6103bc3660046121fc565b610c5e565b3480156103cd57600080fd5b5061037a6103dc36600461224f565b610f54565b3480156103ed57600080fd5b506104a56103fc366004612278565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102a0565b61025f610500366004612293565b610ff4565b34801561051157600080fd5b5061029360405180604001604052806005815260200164302e322e3360d81b81525081565b61025f610544366004612302565b6110ac565b34801561055557600080fd5b50600080516020612a1b8339815191525460e01b61030e565b34801561057a57600080fd5b506105836111d0565b6040516102a0979695949392919061233d565b3480156105a257600080fd5b50600080516020612a1b83398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102a0565b3480156105e657600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b61025f61061c3660046123d3565b6111f7565b34801561062d57600080fd5b5061030e61063c366004612466565b63bc197c8160e01b98975050505050505050565b34801561065c57600080fd5b5061037a61127c565b61025f610673366004612302565b611313565b61025f610686366004612278565b61131e565b34801561069757600080fd5b5061030e6106a6366004612524565b63f23a6e6160e01b9695505050505050565b60006106c6336000366113b4565b156106d15750600190565b600080356001600160e01b031916905060006106f86000805160206129fb83398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061075c57508054600160301b900465ffffffffffff161580159061075c5750805442600160301b90910465ffffffffffff16105b80610771575080544265ffffffffffff909116115b1561077f5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107b690339060009036906004016125c8565b6020604051808303816000875af11580156107d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f991906125ed565b9250505090565b60008061080b611447565b60405161190160f01b60208201526022810182905260428101879052909150600090606201604051602081830303815290604052805190602001209050600061085733838989896114ca565b9050600080600061086784611645565b925092509250428365ffffffffffff161115801561088d5750428265ffffffffffff1610155b80156108a057506001600160a01b038116155b156108bb5750630b135d3f60e11b95506108d2945050505050565b506001600160e01b031995506108d2945050505050565b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906109125750333014155b1561093057604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b03168152506109886000805160206129fb83398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a45908590859060040161260f565b600060405180830381600087803b158015610a5f57600080fd5b505af1158015610a73573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610ad333858686866114ca565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b195750610b176106b8565b155b15610b3757604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610ba7576000838281518110610b5857610b58612623565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af13d6000803e80801561025a57600187019650505050505050610b3c565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610be55750333014155b15610c0357604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ca957604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cd290828587612639565b610cdb91612663565b90506001600160e01b03198116600003610d15578515610cff573434343489335af1505b610d0a888888611678565b9450505050506108d2565b600080516020612a1b8339815191525460e01b81811615610d3e5763fc2f51c56000526004601cfd5b5060006001600160e01b03198216600160e01b03610e0d5760408301358301601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d946004828688612639565b610d9d91612663565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031694509050610dd6876004818b612639565b82549199509750600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179850505050610e6f565b6001600160e01b03198216600160e11b03610e615760408301358301601f19810135610e50610e40600460008486612639565b610e4991612663565b8888611770565b919a50985096509250610e6f915050565b6001955050505050506108d2565b8615610e7f57343434348a335af1505b6000610e8a8a612691565b905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152604051633a871cdd60e01b8152610f469088906001600160a01b03851690633a871cdd90610efe9086908f908f9060040161279f565b6020604051808303816000875af1158015610f1d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f419190612891565b611ad9565b9a9950505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fee9190612891565b92915050565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061102d5750333014155b801561103e575061103c6106b8565b155b1561105c57604051637046c88d60e01b815260040160405180910390fd5b6000816001811115611070576110706128aa565b1461108e576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561025a573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110e55750333014155b1561110357604051637046c88d60e01b815260040160405180910390fd5b600080516020612a1b83398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c95955690611198908690869060040161260f565b600060405180830381600087803b1580156111b257600080fd5b505af11580156111c6573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111e5611b97565b97989097965046955030945091925090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112305750333014155b8015611241575061123f6106b8565b155b1561125f57604051637046c88d60e01b815260040160405180910390fd5b600080825160208401855af43d6000803e80801561025a573d6000f35b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa1580156112ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130e9190612891565b905090565b610ba7838383611bd3565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906113575750333014155b1561137557604051637046c88d60e01b815260040160405180910390fd5b600080516020612a1b833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b600080516020612a1b83398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd59906113fb908890889088906004016125c8565b6020604051808303816000875af115801561141a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061143e91906125ed565b95945050505050565b6000806000611454611b97565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c0909201905280519101209392505050565b600080600080516020612a1b8339815191525460501c9050600080826001600160a01b031663333daf9260e01b89888860405160240161150c939291906128c0565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b0319909516949094179093525161154e928b918e91016128da565b60408051601f19818403018152908290526115689161290e565b600060405180830381855afa9150503d80600081146115a3576040519150601f19603f3d011682016040523d82523d6000602084013e6115a8565b606091505b5091509150816116245760405162461bcd60e51b815260206004820152603860248201527f4b65726e656c3a3a5f76616c69646174655369676e61747572653a206661696c60448201527f656420746f2076616c6964617465207369676e61747572650000000000000000606482015260840160405180910390fd5b808060200190518101906116389190612891565b9998505050505050505050565b600060a082901c65ffffffffffff16828115600019810161166a5765ffffffffffff92505b508360d01c92509193909250565b60008061168485612691565b905061169461014086018661292a565b6116a2916004908290612639565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152600080516020612a1b83398151915254604051633a871cdd60e01b815260509190911c906001600160a01b03821690633a871cdd906117239085908990899060040161279f565b6020604051808303816000875af1158015611742573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117669190612891565b9695505050505050565b6000803681611783602460108789612639565b61178c91612970565b60601c9350605860006117a2826038898b612639565b6117ab9161299e565b828101929091508801816117c460208501858b8d612639565b6117cd9161299e565b60001c925060208401935060006118b77f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d60049060249261181693929190612639565b61181f9161299e565b60001c8e8e60249060389261183693929190612639565b61183f91612970565b60601c87876040516118529291906129bc565b60405190819003812061189c95949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611c67565b90506119076118db3083848f8f8b908b8d01926118d693929190612639565b6114ca565b8c8c6004906024926118ef93929190612639565b6118f89161299e565b6001600160a01b031916611ad9565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261193793929190612639565b611940916129cc565b60d01c65ffffffffffff1681526020018c8c600a9060109261196493929190612639565b61196d916129cc565b60d01c65ffffffffffff1681526020018c8c60249060389261199193929190612639565b61199a91612970565b60601c6001600160a01b031681526020018c8c6010906024926119bf93929190612639565b6119c891612970565b60601c90526000805160206129fb8339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c95955690611a99908690869060040161260f565b600060405180830381600087803b158015611ab357600080fd5b505af1158015611ac7573d6000803e3d6000fd5b50505050505050505093509350935093565b600081830160601b8260601b81148460601b8214176001600160a01b0384861816151760018114611b0d5760019250611b8f565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b86169081611b525765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611b70575065ffffffffffff60a01b5b808218908211021880611b89575065ffffffffffff60a01b5b92909217915b505092915050565b604080518082018252600681526512d95c9b995b60d21b60208083019190915282518084019093526005835264302e322e3360d81b9083015291565b600080516020612a1b8339815191525460501c6001600160a01b03811615611c0d5760405162dc149f60e41b815260040160405180910390fd5b600080516020612a1b8339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c95955690611198908690869060040161260f565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611d5a5750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b60005b83811015611d9a578181015183820152602001611d82565b50506000910152565b60008151808452611dbb816020860160208601611d7f565b601f01601f19169290920160200192915050565b6020815260006108d26020830184611da3565b6001600160a01b0381168114611df757600080fd5b50565b8035611e0581611de2565b919050565b60008083601f840112611e1c57600080fd5b5081356001600160401b03811115611e3357600080fd5b602083019150836020828501011115611e4b57600080fd5b9250929050565b600080600080600060808688031215611e6a57600080fd5b8535611e7581611de2565b94506020860135611e8581611de2565b93506040860135925060608601356001600160401b03811115611ea757600080fd5b611eb388828901611e0a565b969995985093965092949392505050565b600080600060408486031215611ed957600080fd5b8335925060208401356001600160401b03811115611ef657600080fd5b611f0286828701611e0a565b9497909650939450505050565b80356001600160e01b031981168114611e0557600080fd5b65ffffffffffff81168114611df757600080fd5b600080600080600080600060c0888a031215611f5657600080fd5b611f5f88611f0f565b96506020880135611f6f81611de2565b95506040880135611f7f81611de2565b94506060880135611f8f81611f27565b93506080880135611f9f81611f27565b925060a08801356001600160401b03811115611fba57600080fd5b611fc68a828b01611e0a565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561201157612011611fd9565b60405290565b60405161016081016001600160401b038111828210171561201157612011611fd9565b604051601f8201601f191681016001600160401b038111828210171561206257612062611fd9565b604052919050565b600082601f83011261207b57600080fd5b81356001600160401b0381111561209457612094611fd9565b6120a7601f8201601f191660200161203a565b8181528460208386010111156120bc57600080fd5b816020850160208301376000918101602001919091529392505050565b600060208083850312156120ec57600080fd5b82356001600160401b038082111561210357600080fd5b818501915085601f83011261211757600080fd5b81358181111561212957612129611fd9565b8060051b61213885820161203a565b918252838101850191858101908984111561215257600080fd5b86860192505b83831015611638578235858111156121705760008081fd5b86016060818c03601f19018113156121885760008081fd5b612190611fef565b8983013561219d81611de2565b81526040838101358b8301529183013591888311156121bc5760008081fd5b6121ca8e8c8587010161206a565b90820152845250509186019190860190612158565b6000602082840312156121f157600080fd5b81356108d281611de2565b60008060006060848603121561221157600080fd5b83356001600160401b0381111561222757600080fd5b8401610160818703121561223a57600080fd5b95602085013595506040909401359392505050565b60006020828403121561226157600080fd5b81356001600160c01b03811681146108d257600080fd5b60006020828403121561228a57600080fd5b6108d282611f0f565b600080600080608085870312156122a957600080fd5b84356122b481611de2565b93506020850135925060408501356001600160401b038111156122d657600080fd5b6122e28782880161206a565b9250506060850135600281106122f757600080fd5b939692955090935050565b60008060006040848603121561231757600080fd5b833561232281611de2565b925060208401356001600160401b03811115611ef657600080fd5b60ff60f81b881681526000602060e08184015261235d60e084018a611da3565b838103604085015261236f818a611da3565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156123c1578351835292840192918401916001016123a5565b50909c9b505050505050505050505050565b600080604083850312156123e657600080fd5b82356123f181611de2565b915060208301356001600160401b0381111561240c57600080fd5b6124188582860161206a565b9150509250929050565b60008083601f84011261243457600080fd5b5081356001600160401b0381111561244b57600080fd5b6020830191508360208260051b8501011115611e4b57600080fd5b60008060008060008060008060a0898b03121561248257600080fd5b883561248d81611de2565b9750602089013561249d81611de2565b965060408901356001600160401b03808211156124b957600080fd5b6124c58c838d01612422565b909850965060608b01359150808211156124de57600080fd5b6124ea8c838d01612422565b909650945060808b013591508082111561250357600080fd5b506125108b828c01611e0a565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561253d57600080fd5b863561254881611de2565b9550602087013561255881611de2565b9450604087013593506060870135925060808701356001600160401b0381111561258157600080fd5b61258d89828a01611e0a565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061143e908301848661259f565b6000602082840312156125ff57600080fd5b815180151581146108d257600080fd5b602081526000610ad360208301848661259f565b634e487b7160e01b600052603260045260246000fd5b6000808585111561264957600080fd5b8386111561265657600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611b8f5760049490940360031b84901b1690921692915050565b600061016082360312156126a457600080fd5b6126ac612017565b6126b583611dfa565b81526020830135602082015260408301356001600160401b03808211156126db57600080fd5b6126e73683870161206a565b6040840152606085013591508082111561270057600080fd5b61270c3683870161206a565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561275c57600080fd5b6127683682880161206a565b83850152506101409150818501358181111561278357600080fd5b61278f3682880161206a565b8385015250505080915050919050565b606081526127b96060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526127e16101c0850183611da3565b91506060870151605f19808685030160c08701526127ff8483611da3565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a015261285b8787611da3565b9650808c0151955050505080868503016101a0870152505061287d8282611da3565b602085019690965250505060400152919050565b6000602082840312156128a357600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b83815260406020820152600061143e60408301848661259f565b600084516128ec818460208901611d7f565b919091019283525060601b6001600160601b0319166020820152603401919050565b60008251612920818460208701611d7f565b9190910192915050565b6000808335601e1984360301811261294157600080fd5b8301803591506001600160401b0382111561295b57600080fd5b602001915036819003821315611e4b57600080fd5b6001600160601b03198135818116916014851015611b8f5760149490940360031b84901b1690921692915050565b80356020831015610fee57600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b03198135818116916006851015611b8f5760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x1db" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x98cccb650873fecf2ce04c1c7c631814d4be62760bc179f425742be214a4bfd5", + "transactionIndex": "0x5", + "blockHash": "0x646d03a5c531523d64b9ab9b5850c6acd8e2bf288af463682ba20fee3db0bbd3", + "blockNumber": "0x2bfa041", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x2d5257", + "gasUsed": "0x24e274", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000c26880a0af2ea0c7e8130e6ec47af756465452e8" + ], + "data": "0x000000000000000000000000000000000000000000000000002846178c2af7e000000000000000000000000000000000000000000000000002871cce0617f7890000000000000000000000000000000000000000000023ad78b1a2609c9b5ec9000000000000000000000000000000000000000000000000025ed6b679ecffa90000000000000000000000000000000000000000000023ad78d9e87828c656a9", + "blockHash": "0x646d03a5c531523d64b9ab9b5850c6acd8e2bf288af463682ba20fee3db0bbd3", + "blockNumber": "0x2bfa041", + "transactionHash": "0x98cccb650873fecf2ce04c1c7c631814d4be62760bc179f425742be214a4bfd5", + "transactionIndex": "0x5", + "logIndex": "0x12", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000020000000000000000001000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x11785e867" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1708379708, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707331759.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707331759.json new file mode 100644 index 00000000..1d1a4c10 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707331759.json @@ -0,0 +1,69 @@ +{ + "transactions": [ + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0x5e79C26A829e0b11b6cC2D2358551CE1a9f0e32B", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x26cec4", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50611e71806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063c4a5240911610059578063c4a524091461031f578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b66bd1d2146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f0366004611586565b6103a3565b005b34801561010357600080fd5b506101176101123660046115c8565b6103f6565b6040519081526020015b60405180910390f35b610117610138366004611614565b61089a565b34801561014957600080fd5b506101bb610158366004611690565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f36600461174a565b610d65565b34801561023057600080fd5b5061024461023f366004611586565b6111fe565b6040516101219b9a99989796959493929190611941565b34801561026757600080fd5b5061029c6102763660046119d8565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca366004611586565b6112f9565b6102e26102dd3660046119f5565b611328565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d3660046119d8565b60006020819052908152604090205481565b34801561032b57600080fd5b5061011761033a36600461174a565b611365565b34801561034b57600080fd5b5061011761035a366004611a31565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611a6a565b6113b3565b6100f561039e366004611a83565b61141f565b60008060008060003660003660003660006103be8d8d6111fe565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d65565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611a9e565b61043791611ac8565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611afd565b61057f928290611a9e565b61058891611b10565b60601c845260003661059b603482611afd565b906105a7601436611afd565b926105b493929190611a9e565b6105bd91611ac8565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611b43565b9261065c93929190611a9e565b61066591611b10565b60601c036106f85760008484886060015160146106829190611b43565b90896060015160346106949190611b43565b926106a193929190611a9e565b6106aa91611ac8565b60001c90508484886060015160346106c29190611b43565b6106cd928290611a9e565b90935091506106dd816034611b43565b876060018181516106ee9190611b43565b90525061070e9050565b606086015161070990808587611a9e565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611b56565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611ba1565b90506107b4888261147f565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611a9e565b6040518663ffffffff1660e01b815260040161083e959493929190611bba565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611ba1565b905061088b868261147f565b955050505050505b9392505050565b6000336108aa60208601866119d8565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611bf3565b61092491602091600091611a9e565b61092d91611ac8565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099e57503360008181526003602090815260408083205485845260018352818420948452939091529020546001600160801b03600160801b90920482169116115b156109ad576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf25760a082901c60011615610a835760008481526002602090815260408083209483529381528382203383529052919091205490610a3d565b366000610a91836034611b43565b610a9f6101408c018c611bf3565b905010158015610aea57506001600160a01b038416610ac26101408c018c611bf3565b8590610acf826014611b43565b92610adc93929190611a9e565b610ae591611b10565b60601c145b15610c14576000610aff6101408c018c611bf3565b610b0a866014611b43565b90610b16876034611b43565b92610b2393929190611a9e565b610b2c91611ac8565b905080610b3a856034611b43565b610b449190611b43565b610b526101408d018d611bf3565b90501015610bb55760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc36101408c018c611bf3565b610bce866034611b43565b9083610bdb886034611b43565b610be59190611b43565b92610bf293929190611a9e565b9093509150610c02816034611b43565b610c0c9085611b43565b935050610c34565b610c226101408b018b611bf3565b610c2f9185918291611a9e565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c73959493929190611c3a565b6020604051808303816000875af1158015610c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb69190611ba1565b9050610cc2888261147f565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3d92505050565b60408301516000906001600160a01b0316638e0125d233878b610d196101408f018f611bf3565b610d269189908290611a9e565b6040518663ffffffff1660e01b8152600401610d46959493929190611bba565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dbc5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b336000908152600360205260409020546001600160801b038c8116911614610e1d5760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b6000610e328c8c8c8c8c8c8c8c8c8c8c611365565b9050600160a01b6001600160a01b03198c1601610e5c573360009081526020819052604090208190555b60005b86811015610f2657610e8f888883818110610e7c57610e7c611d7d565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03384878786818110610eb057610eb0611d7d565b9050602002810190610ec29190611bf3565b6040518563ffffffff1660e01b8152600401610ee19493929190611d93565b600060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050508080610f1e90611dc5565b915050610e5f565b5060405163e9b51de560e01b81526001600160a01b038b169063e9b51de590610f5990339085908a908a90600401611d93565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b50505050600087876000818110610fa057610fa0611d7d565b9050602002013590506040518060c001604052808e6001600160801b031681526020018d6001600160a01b03191681526020018c6001600160a01b031681526020018281526020018b65ffffffffffff1681526020018a65ffffffffffff16815250600160008481526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b878110156111b55788888281811061114257611142611d7d565b905060200201356002600085815260200190815260200160002060008b8b60018661116d9190611afd565b81811061117c5761117c611d7d565b602090810292909201358352508181019290925260409081016000908120338252909252902055806111ad81611dc5565b915050611128565b5060408051338152602081018490527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a150505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261122393929190611a9e565b61122c91611dde565b60801c9a508c8c601090601c9261124593929190611a9e565b61124e91611e15565b99508c8c601c9060229261126493929190611a9e565b61126d91611e43565b60d01c97508c8c60229060289261128693929190611a9e565b61128f91611e43565b60d01c96508c8c602890603c926112a893929190611a9e565b6112b191611b10565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b60208190036113135761130f61038b8284611ac8565b5050565b61130f6113208284611dde565b60801c61141f565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008b8b8b8b8b8b8b8b8b8b8b60405160200161138c9b9a99989796959493929190611941565b6040516020818303038152906040528051906020012090509b9a5050505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec9101611414565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146114b35760019250611535565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816114f85765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611516575065ffffffffffff60a01b5b80821890821102188061152f575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261154f57600080fd5b50813567ffffffffffffffff81111561156757600080fd5b60208301915083602082850101111561157f57600080fd5b9250929050565b6000806020838503121561159957600080fd5b823567ffffffffffffffff8111156115b057600080fd5b6115bc8582860161153d565b90969095509350505050565b6000806000604084860312156115dd57600080fd5b83359250602084013567ffffffffffffffff8111156115fb57600080fd5b6116078682870161153d565b9497909650939450505050565b60008060006060848603121561162957600080fd5b833567ffffffffffffffff81111561164057600080fd5b8401610160818703121561165357600080fd5b95602085013595506040909401359392505050565b6001600160a01b038116811461167d57600080fd5b50565b803561168b81611668565b919050565b600080604083850312156116a357600080fd5b8235915060208301356116b581611668565b809150509250929050565b80356001600160801b038116811461168b57600080fd5b80356001600160a01b03198116811461168b57600080fd5b803565ffffffffffff8116811461168b57600080fd5b60008083601f84011261171757600080fd5b50813567ffffffffffffffff81111561172f57600080fd5b6020830191508360208260051b850101111561157f57600080fd5b60008060008060008060008060008060006101008c8e03121561176c57600080fd5b6117758c6116c0565b9a5061178360208d016116d7565b995061179160408d01611680565b985061179f60608d016116ef565b97506117ad60808d016116ef565b965067ffffffffffffffff8060a08e013511156117c957600080fd5b6117d98e60a08f01358f01611705565b909750955060c08d01358110156117ef57600080fd5b6117ff8e60c08f01358f0161153d565b909550935060e08d013581101561181557600080fd5b506118268d60e08e01358e01611705565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b8581101561186a5781358752958201959082019060010161184e565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126118b557600080fd5b830160208101925035905067ffffffffffffffff8111156118d557600080fd5b80360382131561157f57600080fd5b81835260006020808501808196508560051b810191508460005b87811015611934578284038952611915828861189e565b611920868284611875565b9a87019a95505050908401906001016118fe565b5091979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a0820181905260009061199c838201898b61183e565b905082810360c08401526119b1818789611875565b905082810360e08401526119c68185876118e4565b9e9d5050505050505050505050505050565b6000602082840312156119ea57600080fd5b813561089381611668565b600080600060408486031215611a0a57600080fd5b8335611a1581611668565b9250602084013567ffffffffffffffff8111156115fb57600080fd5b600080600060608486031215611a4657600080fd5b83359250602084013591506040840135611a5f81611668565b809150509250925092565b600060208284031215611a7c57600080fd5b5035919050565b600060208284031215611a9557600080fd5b610893826116c0565b60008085851115611aae57600080fd5b83861115611abb57600080fd5b5050820193919092039150565b80356020831015611ae157600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611ae157611ae1611ae7565b6bffffffffffffffffffffffff1981358181169160148510156115355760149490940360031b84901b1690921692915050565b80820180821115611ae157611ae1611ae7565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611b9460c083018486611875565b9998505050505050505050565b600060208284031215611bb357600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611be8608083018486611875565b979650505050505050565b6000808335601e19843603018112611c0a57600080fd5b83018035915067ffffffffffffffff821115611c2557600080fd5b60200191503681900382131561157f57600080fd5b6001600160a01b038616815260208101859052608060408201819052611c72908201611c6586611680565b6001600160a01b03169052565b602084013560a08201526000611c8b604086018661189e565b6101608060c0860152611ca36101e086018385611875565b9250611cb2606089018961189e565b9250607f19808786030160e0880152611ccc858584611875565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611d15838c018c61189e565b9550935081888703016101a0890152611d2f868686611875565b9550611d3d818c018c61189e565b955093505080878603016101c08801525050611d5a838383611875565b925050508281036060840152611d71818587611875565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000611dbb606083018486611875565b9695505050505050565b600060018201611dd757611dd7611ae7565b5060010190565b6fffffffffffffffffffffffffffffffff1981358181169160108510156115355760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561153557600c9490940360031b84901b1690921692915050565b6001600160d01b031981358181169160068510156115355760069490940360031b84901b169092169291505056", + "nonce": "0x95c6" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "ECDSASigner", + "contractAddress": "0xF9E712F44A360ED8820aD624e41164f74a5a7456", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x9397d", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610680806100206000396000f3fe60806040526004361061003f5760003560e01c806367249d69146100445780637a7c6a4f146100a75780638e0125d2146100d5578063e9b51de5146100e8575b600080fd5b34801561005057600080fd5b5061008a61005f366004610498565b600060208181529381526040808220855292815282812090935282529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100b357600080fd5b506100c76100c236600461051d565b6100fd565b60405190815260200161009e565b6100c76100e336600461051d565b6101e3565b6100fb6100f6366004610585565b610277565b005b3360009081526020818152604080832087845282528083206001600160a01b03898116855292528220541661014d5760405162461bcd60e51b8152600401610144906105df565b60405180910390fd5b600061019184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525089939250506103c09050565b336000908152602081815260408083208a845282528083206001600160a01b038c81168552925290912054919250908116908216036101d45760009150506101da565b60019150505b95945050505050565b3360009081526020818152604080832087845282528083206001600160a01b03898116855292528220541661022a5760405162461bcd60e51b8152600401610144906105df565b600061019184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027192508991506104519050565b906103c0565b3360009081526020818152604080832086845282528083206001600160a01b03888116855292529091205416156102ff5760405162461bcd60e51b815260206004820152602660248201527f45434453415369676e65723a206b65726e656c20616c726561647920726567696044820152651cdd195c995960d21b6064820152608401610144565b6014811461035b5760405162461bcd60e51b815260206004820152602360248201527f45434453415369676e65723a20696e76616c6964207369676e6572206164647260448201526265737360e81b6064820152608401610144565b600061036a6014828486610621565b6103739161064b565b336000908152602081815260408083209783529681528682206001600160a01b03989098168252969096529390942080546001600160a01b03191660609490941c93909317909255505050565b60405160019083600052602083015160405260408351036103fc57604083015160ff81901c601b016020526001600160ff1b0316606052610422565b604183510361041d57606083015160001a6020526040830151606052610422565b600091505b6020600160806000855afa5191503d61044357638baa579f6000526004601cfd5b600060605260405292915050565b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b80356001600160a01b038116811461049357600080fd5b919050565b6000806000606084860312156104ad57600080fd5b6104b68461047c565b9250602084013591506104cb6040850161047c565b90509250925092565b60008083601f8401126104e657600080fd5b50813567ffffffffffffffff8111156104fe57600080fd5b60208301915083602082850101111561051657600080fd5b9250929050565b60008060008060006080868803121561053557600080fd5b61053e8661047c565b94506020860135935060408601359250606086013567ffffffffffffffff81111561056857600080fd5b610574888289016104d4565b969995985093965092949392505050565b6000806000806060858703121561059b57600080fd5b6105a48561047c565b935060208501359250604085013567ffffffffffffffff8111156105c757600080fd5b6105d3878288016104d4565b95989497509550505050565b60208082526022908201527f45434453415369676e65723a206b65726e656c206e6f74207265676973746572604082015261195960f21b606082015260800190565b6000808585111561063157600080fd5b8386111561063e57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156106785780818660140360031b1b83161692505b50509291505056", + "nonce": "0x95c7" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": null, + "transactionType": "CREATE2", + "contractName": "GasPolicy", + "contractAddress": "0x62868E950Efbb336DCFf033598Ee5E602f0a93cD", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x98ba5", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610737806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae0146100435780632a730c3f14610058578063c92ce351146100ee578063ecfcd9301461010f575b600080fd5b61005661005136600461041f565b610137565b005b34801561006457600080fd5b506100bb61007336600461047b565b60006020818152938152604080822085529281528281209093528252902080546001909101546001600160801b03821691600160801b900460ff16906001600160a01b031683565b604080516001600160801b03909416845291151560208401526001600160a01b0316908201526060015b60405180910390f35b6101016100fc3660046104bd565b6101f0565b6040519081526020016100e5565b34801561011b57600080fd5b5061010161012a36600461054d565b6000979650505050505050565b60008080610147848601866105d3565b604080516060810182526001600160801b03948516815292151560208085019182526001600160a01b039384168584019081523360009081528083528481209d81529c8252838d209d85168d529c905299209151825499511515600160801b0270ffffffffffffffffffffffffffffffffff19909a16931692909217979097178755965160019096018054969097166001600160a01b0319909616959095179095555050505050565b60008060e0850135608086013561020f60a088013560c089013561063a565b610219919061063a565b6102239190610653565b336000908152602081815260408083208a845282528083206001600160a01b038c168452909152902054909150600160801b900460ff1615610301573360009081526020818152604080832089845282528083206001600160a01b038b8116855292529091206001015416158015906102f257503360009081526020818152604080832089845282528083206001600160a01b038b81168552925290912060010154166102d461012087018761066a565b6102e3916014916000916106b1565b6102ec916106db565b60601c14155b156103015760019150506103b5565b3360009081526020818152604080832089845282528083206001600160a01b038b1684529091529020546001600160801b0390811690821611156103495760019150506103b5565b3360009081526020818152604080832089845282528083206001600160a01b038b1684529091528120805483929061038b9084906001600160801b0316610710565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555060009150505b95945050505050565b6001600160a01b03811681146103d357600080fd5b50565b60008083601f8401126103e857600080fd5b50813567ffffffffffffffff81111561040057600080fd5b60208301915083602082850101111561041857600080fd5b9250929050565b6000806000806060858703121561043557600080fd5b8435610440816103be565b935060208501359250604085013567ffffffffffffffff81111561046357600080fd5b61046f878288016103d6565b95989497509550505050565b60008060006060848603121561049057600080fd5b833561049b816103be565b92506020840135915060408401356104b2816103be565b809150509250925092565b6000806000806000608086880312156104d557600080fd5b85356104e0816103be565b945060208601359350604086013567ffffffffffffffff8082111561050457600080fd5b90870190610160828a03121561051957600080fd5b9093506060870135908082111561052f57600080fd5b5061053c888289016103d6565b969995985093965092949392505050565b600080600080600080600060c0888a03121561056857600080fd5b8735610573816103be565b96506020880135610583816103be565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff8111156105b457600080fd5b6105c08a828b016103d6565b989b979a50959850939692959293505050565b6000806000606084860312156105e857600080fd5b83356001600160801b03811681146105ff57600080fd5b92506020840135801515811461061457600080fd5b915060408401356104b2816103be565b634e487b7160e01b600052601160045260246000fd5b8082018082111561064d5761064d610624565b92915050565b808202811582820484141761064d5761064d610624565b6000808335601e1984360301811261068157600080fd5b83018035915067ffffffffffffffff82111561069c57600080fd5b60200191503681900382131561041857600080fd5b600080858511156106c157600080fd5b838611156106ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156107085780818660140360031b1b83161692505b505092915050565b6001600160801b0382811682821603908082111561073057610730610624565b509291505056", + "nonce": "0x95c8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1707331759, + "chain": 80001, + "multi": false, + "commit": "60e1432" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707331808.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707331808.json new file mode 100644 index 00000000..44b87a3f --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707331808.json @@ -0,0 +1,73 @@ +{ + "transactions": [ + { + "hash": "0xed09bc17bbe34f24b0b6bd1ed893d748335663d42b6e61623999772f0617bf66", + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0x5e79C26A829e0b11b6cC2D2358551CE1a9f0e32B", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x26cec4", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50611e71806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063c4a5240911610059578063c4a524091461031f578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b66bd1d2146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f0366004611586565b6103a3565b005b34801561010357600080fd5b506101176101123660046115c8565b6103f6565b6040519081526020015b60405180910390f35b610117610138366004611614565b61089a565b34801561014957600080fd5b506101bb610158366004611690565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f36600461174a565b610d65565b34801561023057600080fd5b5061024461023f366004611586565b6111fe565b6040516101219b9a99989796959493929190611941565b34801561026757600080fd5b5061029c6102763660046119d8565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca366004611586565b6112f9565b6102e26102dd3660046119f5565b611328565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d3660046119d8565b60006020819052908152604090205481565b34801561032b57600080fd5b5061011761033a36600461174a565b611365565b34801561034b57600080fd5b5061011761035a366004611a31565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611a6a565b6113b3565b6100f561039e366004611a83565b61141f565b60008060008060003660003660003660006103be8d8d6111fe565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d65565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611a9e565b61043791611ac8565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611afd565b61057f928290611a9e565b61058891611b10565b60601c845260003661059b603482611afd565b906105a7601436611afd565b926105b493929190611a9e565b6105bd91611ac8565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611b43565b9261065c93929190611a9e565b61066591611b10565b60601c036106f85760008484886060015160146106829190611b43565b90896060015160346106949190611b43565b926106a193929190611a9e565b6106aa91611ac8565b60001c90508484886060015160346106c29190611b43565b6106cd928290611a9e565b90935091506106dd816034611b43565b876060018181516106ee9190611b43565b90525061070e9050565b606086015161070990808587611a9e565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611b56565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611ba1565b90506107b4888261147f565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611a9e565b6040518663ffffffff1660e01b815260040161083e959493929190611bba565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611ba1565b905061088b868261147f565b955050505050505b9392505050565b6000336108aa60208601866119d8565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611bf3565b61092491602091600091611a9e565b61092d91611ac8565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099e57503360008181526003602090815260408083205485845260018352818420948452939091529020546001600160801b03600160801b90920482169116115b156109ad576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf25760a082901c60011615610a835760008481526002602090815260408083209483529381528382203383529052919091205490610a3d565b366000610a91836034611b43565b610a9f6101408c018c611bf3565b905010158015610aea57506001600160a01b038416610ac26101408c018c611bf3565b8590610acf826014611b43565b92610adc93929190611a9e565b610ae591611b10565b60601c145b15610c14576000610aff6101408c018c611bf3565b610b0a866014611b43565b90610b16876034611b43565b92610b2393929190611a9e565b610b2c91611ac8565b905080610b3a856034611b43565b610b449190611b43565b610b526101408d018d611bf3565b90501015610bb55760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc36101408c018c611bf3565b610bce866034611b43565b9083610bdb886034611b43565b610be59190611b43565b92610bf293929190611a9e565b9093509150610c02816034611b43565b610c0c9085611b43565b935050610c34565b610c226101408b018b611bf3565b610c2f9185918291611a9e565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c73959493929190611c3a565b6020604051808303816000875af1158015610c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb69190611ba1565b9050610cc2888261147f565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3d92505050565b60408301516000906001600160a01b0316638e0125d233878b610d196101408f018f611bf3565b610d269189908290611a9e565b6040518663ffffffff1660e01b8152600401610d46959493929190611bba565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dbc5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b336000908152600360205260409020546001600160801b038c8116911614610e1d5760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b6000610e328c8c8c8c8c8c8c8c8c8c8c611365565b9050600160a01b6001600160a01b03198c1601610e5c573360009081526020819052604090208190555b60005b86811015610f2657610e8f888883818110610e7c57610e7c611d7d565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03384878786818110610eb057610eb0611d7d565b9050602002810190610ec29190611bf3565b6040518563ffffffff1660e01b8152600401610ee19493929190611d93565b600060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050508080610f1e90611dc5565b915050610e5f565b5060405163e9b51de560e01b81526001600160a01b038b169063e9b51de590610f5990339085908a908a90600401611d93565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b50505050600087876000818110610fa057610fa0611d7d565b9050602002013590506040518060c001604052808e6001600160801b031681526020018d6001600160a01b03191681526020018c6001600160a01b031681526020018281526020018b65ffffffffffff1681526020018a65ffffffffffff16815250600160008481526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b878110156111b55788888281811061114257611142611d7d565b905060200201356002600085815260200190815260200160002060008b8b60018661116d9190611afd565b81811061117c5761117c611d7d565b602090810292909201358352508181019290925260409081016000908120338252909252902055806111ad81611dc5565b915050611128565b5060408051338152602081018490527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a150505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261122393929190611a9e565b61122c91611dde565b60801c9a508c8c601090601c9261124593929190611a9e565b61124e91611e15565b99508c8c601c9060229261126493929190611a9e565b61126d91611e43565b60d01c97508c8c60229060289261128693929190611a9e565b61128f91611e43565b60d01c96508c8c602890603c926112a893929190611a9e565b6112b191611b10565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b60208190036113135761130f61038b8284611ac8565b5050565b61130f6113208284611dde565b60801c61141f565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008b8b8b8b8b8b8b8b8b8b8b60405160200161138c9b9a99989796959493929190611941565b6040516020818303038152906040528051906020012090509b9a5050505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec9101611414565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146114b35760019250611535565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816114f85765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611516575065ffffffffffff60a01b5b80821890821102188061152f575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261154f57600080fd5b50813567ffffffffffffffff81111561156757600080fd5b60208301915083602082850101111561157f57600080fd5b9250929050565b6000806020838503121561159957600080fd5b823567ffffffffffffffff8111156115b057600080fd5b6115bc8582860161153d565b90969095509350505050565b6000806000604084860312156115dd57600080fd5b83359250602084013567ffffffffffffffff8111156115fb57600080fd5b6116078682870161153d565b9497909650939450505050565b60008060006060848603121561162957600080fd5b833567ffffffffffffffff81111561164057600080fd5b8401610160818703121561165357600080fd5b95602085013595506040909401359392505050565b6001600160a01b038116811461167d57600080fd5b50565b803561168b81611668565b919050565b600080604083850312156116a357600080fd5b8235915060208301356116b581611668565b809150509250929050565b80356001600160801b038116811461168b57600080fd5b80356001600160a01b03198116811461168b57600080fd5b803565ffffffffffff8116811461168b57600080fd5b60008083601f84011261171757600080fd5b50813567ffffffffffffffff81111561172f57600080fd5b6020830191508360208260051b850101111561157f57600080fd5b60008060008060008060008060008060006101008c8e03121561176c57600080fd5b6117758c6116c0565b9a5061178360208d016116d7565b995061179160408d01611680565b985061179f60608d016116ef565b97506117ad60808d016116ef565b965067ffffffffffffffff8060a08e013511156117c957600080fd5b6117d98e60a08f01358f01611705565b909750955060c08d01358110156117ef57600080fd5b6117ff8e60c08f01358f0161153d565b909550935060e08d013581101561181557600080fd5b506118268d60e08e01358e01611705565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b8581101561186a5781358752958201959082019060010161184e565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126118b557600080fd5b830160208101925035905067ffffffffffffffff8111156118d557600080fd5b80360382131561157f57600080fd5b81835260006020808501808196508560051b810191508460005b87811015611934578284038952611915828861189e565b611920868284611875565b9a87019a95505050908401906001016118fe565b5091979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a0820181905260009061199c838201898b61183e565b905082810360c08401526119b1818789611875565b905082810360e08401526119c68185876118e4565b9e9d5050505050505050505050505050565b6000602082840312156119ea57600080fd5b813561089381611668565b600080600060408486031215611a0a57600080fd5b8335611a1581611668565b9250602084013567ffffffffffffffff8111156115fb57600080fd5b600080600060608486031215611a4657600080fd5b83359250602084013591506040840135611a5f81611668565b809150509250925092565b600060208284031215611a7c57600080fd5b5035919050565b600060208284031215611a9557600080fd5b610893826116c0565b60008085851115611aae57600080fd5b83861115611abb57600080fd5b5050820193919092039150565b80356020831015611ae157600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611ae157611ae1611ae7565b6bffffffffffffffffffffffff1981358181169160148510156115355760149490940360031b84901b1690921692915050565b80820180821115611ae157611ae1611ae7565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611b9460c083018486611875565b9998505050505050505050565b600060208284031215611bb357600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611be8608083018486611875565b979650505050505050565b6000808335601e19843603018112611c0a57600080fd5b83018035915067ffffffffffffffff821115611c2557600080fd5b60200191503681900382131561157f57600080fd5b6001600160a01b038616815260208101859052608060408201819052611c72908201611c6586611680565b6001600160a01b03169052565b602084013560a08201526000611c8b604086018661189e565b6101608060c0860152611ca36101e086018385611875565b9250611cb2606089018961189e565b9250607f19808786030160e0880152611ccc858584611875565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611d15838c018c61189e565b9550935081888703016101a0890152611d2f868686611875565b9550611d3d818c018c61189e565b955093505080878603016101c08801525050611d5a838383611875565b925050508281036060840152611d71818587611875565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000611dbb606083018486611875565b9695505050505050565b600060018201611dd757611dd7611ae7565b5060010190565b6fffffffffffffffffffffffffffffffff1981358181169160108510156115355760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561153557600c9490940360031b84901b1690921692915050565b6001600160d01b031981358181169160068510156115355760069490940360031b84901b169092169291505056", + "nonce": "0x1cf" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5bfabf0d17e1fc24556b66786feb048a874a4768864a231b2f77004dbcad66ae", + "transactionType": "CREATE2", + "contractName": "ECDSASigner", + "contractAddress": "0xF9E712F44A360ED8820aD624e41164f74a5a7456", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x9397d", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610680806100206000396000f3fe60806040526004361061003f5760003560e01c806367249d69146100445780637a7c6a4f146100a75780638e0125d2146100d5578063e9b51de5146100e8575b600080fd5b34801561005057600080fd5b5061008a61005f366004610498565b600060208181529381526040808220855292815282812090935282529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100b357600080fd5b506100c76100c236600461051d565b6100fd565b60405190815260200161009e565b6100c76100e336600461051d565b6101e3565b6100fb6100f6366004610585565b610277565b005b3360009081526020818152604080832087845282528083206001600160a01b03898116855292528220541661014d5760405162461bcd60e51b8152600401610144906105df565b60405180910390fd5b600061019184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525089939250506103c09050565b336000908152602081815260408083208a845282528083206001600160a01b038c81168552925290912054919250908116908216036101d45760009150506101da565b60019150505b95945050505050565b3360009081526020818152604080832087845282528083206001600160a01b03898116855292528220541661022a5760405162461bcd60e51b8152600401610144906105df565b600061019184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027192508991506104519050565b906103c0565b3360009081526020818152604080832086845282528083206001600160a01b03888116855292529091205416156102ff5760405162461bcd60e51b815260206004820152602660248201527f45434453415369676e65723a206b65726e656c20616c726561647920726567696044820152651cdd195c995960d21b6064820152608401610144565b6014811461035b5760405162461bcd60e51b815260206004820152602360248201527f45434453415369676e65723a20696e76616c6964207369676e6572206164647260448201526265737360e81b6064820152608401610144565b600061036a6014828486610621565b6103739161064b565b336000908152602081815260408083209783529681528682206001600160a01b03989098168252969096529390942080546001600160a01b03191660609490941c93909317909255505050565b60405160019083600052602083015160405260408351036103fc57604083015160ff81901c601b016020526001600160ff1b0316606052610422565b604183510361041d57606083015160001a6020526040830151606052610422565b600091505b6020600160806000855afa5191503d61044357638baa579f6000526004601cfd5b600060605260405292915050565b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b80356001600160a01b038116811461049357600080fd5b919050565b6000806000606084860312156104ad57600080fd5b6104b68461047c565b9250602084013591506104cb6040850161047c565b90509250925092565b60008083601f8401126104e657600080fd5b50813567ffffffffffffffff8111156104fe57600080fd5b60208301915083602082850101111561051657600080fd5b9250929050565b60008060008060006080868803121561053557600080fd5b61053e8661047c565b94506020860135935060408601359250606086013567ffffffffffffffff81111561056857600080fd5b610574888289016104d4565b969995985093965092949392505050565b6000806000806060858703121561059b57600080fd5b6105a48561047c565b935060208501359250604085013567ffffffffffffffff8111156105c757600080fd5b6105d3878288016104d4565b95989497509550505050565b60208082526022908201527f45434453415369676e65723a206b65726e656c206e6f74207265676973746572604082015261195960f21b606082015260800190565b6000808585111561063157600080fd5b8386111561063e57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156106785780818660140360031b1b83161692505b50509291505056", + "nonce": "0x1d0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa41af2cba175bc10e156a9457ee1fccfb5deb6a61f5fffb60c4757131054fab1", + "transactionType": "CREATE2", + "contractName": "GasPolicy", + "contractAddress": "0x62868E950Efbb336DCFf033598Ee5E602f0a93cD", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x98ba5", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610737806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae0146100435780632a730c3f14610058578063c92ce351146100ee578063ecfcd9301461010f575b600080fd5b61005661005136600461041f565b610137565b005b34801561006457600080fd5b506100bb61007336600461047b565b60006020818152938152604080822085529281528281209093528252902080546001909101546001600160801b03821691600160801b900460ff16906001600160a01b031683565b604080516001600160801b03909416845291151560208401526001600160a01b0316908201526060015b60405180910390f35b6101016100fc3660046104bd565b6101f0565b6040519081526020016100e5565b34801561011b57600080fd5b5061010161012a36600461054d565b6000979650505050505050565b60008080610147848601866105d3565b604080516060810182526001600160801b03948516815292151560208085019182526001600160a01b039384168584019081523360009081528083528481209d81529c8252838d209d85168d529c905299209151825499511515600160801b0270ffffffffffffffffffffffffffffffffff19909a16931692909217979097178755965160019096018054969097166001600160a01b0319909616959095179095555050505050565b60008060e0850135608086013561020f60a088013560c089013561063a565b610219919061063a565b6102239190610653565b336000908152602081815260408083208a845282528083206001600160a01b038c168452909152902054909150600160801b900460ff1615610301573360009081526020818152604080832089845282528083206001600160a01b038b8116855292529091206001015416158015906102f257503360009081526020818152604080832089845282528083206001600160a01b038b81168552925290912060010154166102d461012087018761066a565b6102e3916014916000916106b1565b6102ec916106db565b60601c14155b156103015760019150506103b5565b3360009081526020818152604080832089845282528083206001600160a01b038b1684529091529020546001600160801b0390811690821611156103495760019150506103b5565b3360009081526020818152604080832089845282528083206001600160a01b038b1684529091528120805483929061038b9084906001600160801b0316610710565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555060009150505b95945050505050565b6001600160a01b03811681146103d357600080fd5b50565b60008083601f8401126103e857600080fd5b50813567ffffffffffffffff81111561040057600080fd5b60208301915083602082850101111561041857600080fd5b9250929050565b6000806000806060858703121561043557600080fd5b8435610440816103be565b935060208501359250604085013567ffffffffffffffff81111561046357600080fd5b61046f878288016103d6565b95989497509550505050565b60008060006060848603121561049057600080fd5b833561049b816103be565b92506020840135915060408401356104b2816103be565b809150509250925092565b6000806000806000608086880312156104d557600080fd5b85356104e0816103be565b945060208601359350604086013567ffffffffffffffff8082111561050457600080fd5b90870190610160828a03121561051957600080fd5b9093506060870135908082111561052f57600080fd5b5061053c888289016103d6565b969995985093965092949392505050565b600080600080600080600060c0888a03121561056857600080fd5b8735610573816103be565b96506020880135610583816103be565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff8111156105b457600080fd5b6105c08a828b016103d6565b989b979a50959850939692959293505050565b6000806000606084860312156105e857600080fd5b83356001600160801b03811681146105ff57600080fd5b92506020840135801515811461061457600080fd5b915060408401356104b2816103be565b634e487b7160e01b600052601160045260246000fd5b8082018082111561064d5761064d610624565b92915050565b808202811582820484141761064d5761064d610624565b6000808335601e1984360301811261068157600080fd5b83018035915067ffffffffffffffff82111561069c57600080fd5b60200191503681900382131561041857600080fd5b600080858511156106c157600080fd5b838611156106ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156107085780818660140360031b1b83161692505b505092915050565b6001600160801b0382811682821603908082111561073057610730610624565b509291505056", + "nonce": "0x1d1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xed09bc17bbe34f24b0b6bd1ed893d748335663d42b6e61623999772f0617bf66", + "0x5bfabf0d17e1fc24556b66786feb048a874a4768864a231b2f77004dbcad66ae", + "0xa41af2cba175bc10e156a9457ee1fccfb5deb6a61f5fffb60c4757131054fab1" + ], + "returns": {}, + "timestamp": 1707331808, + "chain": 80001, + "multi": false, + "commit": "60e1432" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707331815.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707331815.json new file mode 100644 index 00000000..422ef6ac --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707331815.json @@ -0,0 +1,169 @@ +{ + "transactions": [ + { + "hash": "0xed09bc17bbe34f24b0b6bd1ed893d748335663d42b6e61623999772f0617bf66", + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0x5e79C26A829e0b11b6cC2D2358551CE1a9f0e32B", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x26cec4", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50611e71806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063c4a5240911610059578063c4a524091461031f578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b66bd1d2146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f0366004611586565b6103a3565b005b34801561010357600080fd5b506101176101123660046115c8565b6103f6565b6040519081526020015b60405180910390f35b610117610138366004611614565b61089a565b34801561014957600080fd5b506101bb610158366004611690565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f36600461174a565b610d65565b34801561023057600080fd5b5061024461023f366004611586565b6111fe565b6040516101219b9a99989796959493929190611941565b34801561026757600080fd5b5061029c6102763660046119d8565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca366004611586565b6112f9565b6102e26102dd3660046119f5565b611328565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d3660046119d8565b60006020819052908152604090205481565b34801561032b57600080fd5b5061011761033a36600461174a565b611365565b34801561034b57600080fd5b5061011761035a366004611a31565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611a6a565b6113b3565b6100f561039e366004611a83565b61141f565b60008060008060003660003660003660006103be8d8d6111fe565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d65565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611a9e565b61043791611ac8565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611afd565b61057f928290611a9e565b61058891611b10565b60601c845260003661059b603482611afd565b906105a7601436611afd565b926105b493929190611a9e565b6105bd91611ac8565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611b43565b9261065c93929190611a9e565b61066591611b10565b60601c036106f85760008484886060015160146106829190611b43565b90896060015160346106949190611b43565b926106a193929190611a9e565b6106aa91611ac8565b60001c90508484886060015160346106c29190611b43565b6106cd928290611a9e565b90935091506106dd816034611b43565b876060018181516106ee9190611b43565b90525061070e9050565b606086015161070990808587611a9e565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611b56565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611ba1565b90506107b4888261147f565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611a9e565b6040518663ffffffff1660e01b815260040161083e959493929190611bba565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611ba1565b905061088b868261147f565b955050505050505b9392505050565b6000336108aa60208601866119d8565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611bf3565b61092491602091600091611a9e565b61092d91611ac8565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099e57503360008181526003602090815260408083205485845260018352818420948452939091529020546001600160801b03600160801b90920482169116115b156109ad576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf25760a082901c60011615610a835760008481526002602090815260408083209483529381528382203383529052919091205490610a3d565b366000610a91836034611b43565b610a9f6101408c018c611bf3565b905010158015610aea57506001600160a01b038416610ac26101408c018c611bf3565b8590610acf826014611b43565b92610adc93929190611a9e565b610ae591611b10565b60601c145b15610c14576000610aff6101408c018c611bf3565b610b0a866014611b43565b90610b16876034611b43565b92610b2393929190611a9e565b610b2c91611ac8565b905080610b3a856034611b43565b610b449190611b43565b610b526101408d018d611bf3565b90501015610bb55760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc36101408c018c611bf3565b610bce866034611b43565b9083610bdb886034611b43565b610be59190611b43565b92610bf293929190611a9e565b9093509150610c02816034611b43565b610c0c9085611b43565b935050610c34565b610c226101408b018b611bf3565b610c2f9185918291611a9e565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c73959493929190611c3a565b6020604051808303816000875af1158015610c92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb69190611ba1565b9050610cc2888261147f565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3d92505050565b60408301516000906001600160a01b0316638e0125d233878b610d196101408f018f611bf3565b610d269189908290611a9e565b6040518663ffffffff1660e01b8152600401610d46959493929190611bba565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dbc5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b336000908152600360205260409020546001600160801b038c8116911614610e1d5760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b6000610e328c8c8c8c8c8c8c8c8c8c8c611365565b9050600160a01b6001600160a01b03198c1601610e5c573360009081526020819052604090208190555b60005b86811015610f2657610e8f888883818110610e7c57610e7c611d7d565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03384878786818110610eb057610eb0611d7d565b9050602002810190610ec29190611bf3565b6040518563ffffffff1660e01b8152600401610ee19493929190611d93565b600060405180830381600087803b158015610efb57600080fd5b505af1158015610f0f573d6000803e3d6000fd5b505050508080610f1e90611dc5565b915050610e5f565b5060405163e9b51de560e01b81526001600160a01b038b169063e9b51de590610f5990339085908a908a90600401611d93565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b50505050600087876000818110610fa057610fa0611d7d565b9050602002013590506040518060c001604052808e6001600160801b031681526020018d6001600160a01b03191681526020018c6001600160a01b031681526020018281526020018b65ffffffffffff1681526020018a65ffffffffffff16815250600160008481526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b878110156111b55788888281811061114257611142611d7d565b905060200201356002600085815260200190815260200160002060008b8b60018661116d9190611afd565b81811061117c5761117c611d7d565b602090810292909201358352508181019290925260409081016000908120338252909252902055806111ad81611dc5565b915050611128565b5060408051338152602081018490527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a150505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261122393929190611a9e565b61122c91611dde565b60801c9a508c8c601090601c9261124593929190611a9e565b61124e91611e15565b99508c8c601c9060229261126493929190611a9e565b61126d91611e43565b60d01c97508c8c60229060289261128693929190611a9e565b61128f91611e43565b60d01c96508c8c602890603c926112a893929190611a9e565b6112b191611b10565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b60208190036113135761130f61038b8284611ac8565b5050565b61130f6113208284611dde565b60801c61141f565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008b8b8b8b8b8b8b8b8b8b8b60405160200161138c9b9a99989796959493929190611941565b6040516020818303038152906040528051906020012090509b9a5050505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec9101611414565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146114b35760019250611535565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816114f85765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611516575065ffffffffffff60a01b5b80821890821102188061152f575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261154f57600080fd5b50813567ffffffffffffffff81111561156757600080fd5b60208301915083602082850101111561157f57600080fd5b9250929050565b6000806020838503121561159957600080fd5b823567ffffffffffffffff8111156115b057600080fd5b6115bc8582860161153d565b90969095509350505050565b6000806000604084860312156115dd57600080fd5b83359250602084013567ffffffffffffffff8111156115fb57600080fd5b6116078682870161153d565b9497909650939450505050565b60008060006060848603121561162957600080fd5b833567ffffffffffffffff81111561164057600080fd5b8401610160818703121561165357600080fd5b95602085013595506040909401359392505050565b6001600160a01b038116811461167d57600080fd5b50565b803561168b81611668565b919050565b600080604083850312156116a357600080fd5b8235915060208301356116b581611668565b809150509250929050565b80356001600160801b038116811461168b57600080fd5b80356001600160a01b03198116811461168b57600080fd5b803565ffffffffffff8116811461168b57600080fd5b60008083601f84011261171757600080fd5b50813567ffffffffffffffff81111561172f57600080fd5b6020830191508360208260051b850101111561157f57600080fd5b60008060008060008060008060008060006101008c8e03121561176c57600080fd5b6117758c6116c0565b9a5061178360208d016116d7565b995061179160408d01611680565b985061179f60608d016116ef565b97506117ad60808d016116ef565b965067ffffffffffffffff8060a08e013511156117c957600080fd5b6117d98e60a08f01358f01611705565b909750955060c08d01358110156117ef57600080fd5b6117ff8e60c08f01358f0161153d565b909550935060e08d013581101561181557600080fd5b506118268d60e08e01358e01611705565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b8581101561186a5781358752958201959082019060010161184e565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126118b557600080fd5b830160208101925035905067ffffffffffffffff8111156118d557600080fd5b80360382131561157f57600080fd5b81835260006020808501808196508560051b810191508460005b87811015611934578284038952611915828861189e565b611920868284611875565b9a87019a95505050908401906001016118fe565b5091979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a0820181905260009061199c838201898b61183e565b905082810360c08401526119b1818789611875565b905082810360e08401526119c68185876118e4565b9e9d5050505050505050505050505050565b6000602082840312156119ea57600080fd5b813561089381611668565b600080600060408486031215611a0a57600080fd5b8335611a1581611668565b9250602084013567ffffffffffffffff8111156115fb57600080fd5b600080600060608486031215611a4657600080fd5b83359250602084013591506040840135611a5f81611668565b809150509250925092565b600060208284031215611a7c57600080fd5b5035919050565b600060208284031215611a9557600080fd5b610893826116c0565b60008085851115611aae57600080fd5b83861115611abb57600080fd5b5050820193919092039150565b80356020831015611ae157600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611ae157611ae1611ae7565b6bffffffffffffffffffffffff1981358181169160148510156115355760149490940360031b84901b1690921692915050565b80820180821115611ae157611ae1611ae7565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611b9460c083018486611875565b9998505050505050505050565b600060208284031215611bb357600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611be8608083018486611875565b979650505050505050565b6000808335601e19843603018112611c0a57600080fd5b83018035915067ffffffffffffffff821115611c2557600080fd5b60200191503681900382131561157f57600080fd5b6001600160a01b038616815260208101859052608060408201819052611c72908201611c6586611680565b6001600160a01b03169052565b602084013560a08201526000611c8b604086018661189e565b6101608060c0860152611ca36101e086018385611875565b9250611cb2606089018961189e565b9250607f19808786030160e0880152611ccc858584611875565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611d15838c018c61189e565b9550935081888703016101a0890152611d2f868686611875565b9550611d3d818c018c61189e565b955093505080878603016101c08801525050611d5a838383611875565b925050508281036060840152611d71818587611875565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000611dbb606083018486611875565b9695505050505050565b600060018201611dd757611dd7611ae7565b5060010190565b6fffffffffffffffffffffffffffffffff1981358181169160108510156115355760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561153557600c9490940360031b84901b1690921692915050565b6001600160d01b031981358181169160068510156115355760069490940360031b84901b169092169291505056", + "nonce": "0x1cf" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0x5bfabf0d17e1fc24556b66786feb048a874a4768864a231b2f77004dbcad66ae", + "transactionType": "CREATE2", + "contractName": "ECDSASigner", + "contractAddress": "0xF9E712F44A360ED8820aD624e41164f74a5a7456", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x9397d", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610680806100206000396000f3fe60806040526004361061003f5760003560e01c806367249d69146100445780637a7c6a4f146100a75780638e0125d2146100d5578063e9b51de5146100e8575b600080fd5b34801561005057600080fd5b5061008a61005f366004610498565b600060208181529381526040808220855292815282812090935282529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100b357600080fd5b506100c76100c236600461051d565b6100fd565b60405190815260200161009e565b6100c76100e336600461051d565b6101e3565b6100fb6100f6366004610585565b610277565b005b3360009081526020818152604080832087845282528083206001600160a01b03898116855292528220541661014d5760405162461bcd60e51b8152600401610144906105df565b60405180910390fd5b600061019184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525089939250506103c09050565b336000908152602081815260408083208a845282528083206001600160a01b038c81168552925290912054919250908116908216036101d45760009150506101da565b60019150505b95945050505050565b3360009081526020818152604080832087845282528083206001600160a01b03898116855292528220541661022a5760405162461bcd60e51b8152600401610144906105df565b600061019184848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061027192508991506104519050565b906103c0565b3360009081526020818152604080832086845282528083206001600160a01b03888116855292529091205416156102ff5760405162461bcd60e51b815260206004820152602660248201527f45434453415369676e65723a206b65726e656c20616c726561647920726567696044820152651cdd195c995960d21b6064820152608401610144565b6014811461035b5760405162461bcd60e51b815260206004820152602360248201527f45434453415369676e65723a20696e76616c6964207369676e6572206164647260448201526265737360e81b6064820152608401610144565b600061036a6014828486610621565b6103739161064b565b336000908152602081815260408083209783529681528682206001600160a01b03989098168252969096529390942080546001600160a01b03191660609490941c93909317909255505050565b60405160019083600052602083015160405260408351036103fc57604083015160ff81901c601b016020526001600160ff1b0316606052610422565b604183510361041d57606083015160001a6020526040830151606052610422565b600091505b6020600160806000855afa5191503d61044357638baa579f6000526004601cfd5b600060605260405292915050565b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b80356001600160a01b038116811461049357600080fd5b919050565b6000806000606084860312156104ad57600080fd5b6104b68461047c565b9250602084013591506104cb6040850161047c565b90509250925092565b60008083601f8401126104e657600080fd5b50813567ffffffffffffffff8111156104fe57600080fd5b60208301915083602082850101111561051657600080fd5b9250929050565b60008060008060006080868803121561053557600080fd5b61053e8661047c565b94506020860135935060408601359250606086013567ffffffffffffffff81111561056857600080fd5b610574888289016104d4565b969995985093965092949392505050565b6000806000806060858703121561059b57600080fd5b6105a48561047c565b935060208501359250604085013567ffffffffffffffff8111156105c757600080fd5b6105d3878288016104d4565b95989497509550505050565b60208082526022908201527f45434453415369676e65723a206b65726e656c206e6f74207265676973746572604082015261195960f21b606082015260800190565b6000808585111561063157600080fd5b8386111561063e57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156106785780818660140360031b1b83161692505b50509291505056", + "nonce": "0x1d0" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xa41af2cba175bc10e156a9457ee1fccfb5deb6a61f5fffb60c4757131054fab1", + "transactionType": "CREATE2", + "contractName": "GasPolicy", + "contractAddress": "0x62868E950Efbb336DCFf033598Ee5E602f0a93cD", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x98ba5", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610737806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae0146100435780632a730c3f14610058578063c92ce351146100ee578063ecfcd9301461010f575b600080fd5b61005661005136600461041f565b610137565b005b34801561006457600080fd5b506100bb61007336600461047b565b60006020818152938152604080822085529281528281209093528252902080546001909101546001600160801b03821691600160801b900460ff16906001600160a01b031683565b604080516001600160801b03909416845291151560208401526001600160a01b0316908201526060015b60405180910390f35b6101016100fc3660046104bd565b6101f0565b6040519081526020016100e5565b34801561011b57600080fd5b5061010161012a36600461054d565b6000979650505050505050565b60008080610147848601866105d3565b604080516060810182526001600160801b03948516815292151560208085019182526001600160a01b039384168584019081523360009081528083528481209d81529c8252838d209d85168d529c905299209151825499511515600160801b0270ffffffffffffffffffffffffffffffffff19909a16931692909217979097178755965160019096018054969097166001600160a01b0319909616959095179095555050505050565b60008060e0850135608086013561020f60a088013560c089013561063a565b610219919061063a565b6102239190610653565b336000908152602081815260408083208a845282528083206001600160a01b038c168452909152902054909150600160801b900460ff1615610301573360009081526020818152604080832089845282528083206001600160a01b038b8116855292529091206001015416158015906102f257503360009081526020818152604080832089845282528083206001600160a01b038b81168552925290912060010154166102d461012087018761066a565b6102e3916014916000916106b1565b6102ec916106db565b60601c14155b156103015760019150506103b5565b3360009081526020818152604080832089845282528083206001600160a01b038b1684529091529020546001600160801b0390811690821611156103495760019150506103b5565b3360009081526020818152604080832089845282528083206001600160a01b038b1684529091528120805483929061038b9084906001600160801b0316610710565b92506101000a8154816001600160801b0302191690836001600160801b0316021790555060009150505b95945050505050565b6001600160a01b03811681146103d357600080fd5b50565b60008083601f8401126103e857600080fd5b50813567ffffffffffffffff81111561040057600080fd5b60208301915083602082850101111561041857600080fd5b9250929050565b6000806000806060858703121561043557600080fd5b8435610440816103be565b935060208501359250604085013567ffffffffffffffff81111561046357600080fd5b61046f878288016103d6565b95989497509550505050565b60008060006060848603121561049057600080fd5b833561049b816103be565b92506020840135915060408401356104b2816103be565b809150509250925092565b6000806000806000608086880312156104d557600080fd5b85356104e0816103be565b945060208601359350604086013567ffffffffffffffff8082111561050457600080fd5b90870190610160828a03121561051957600080fd5b9093506060870135908082111561052f57600080fd5b5061053c888289016103d6565b969995985093965092949392505050565b600080600080600080600060c0888a03121561056857600080fd5b8735610573816103be565b96506020880135610583816103be565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff8111156105b457600080fd5b6105c08a828b016103d6565b989b979a50959850939692959293505050565b6000806000606084860312156105e857600080fd5b83356001600160801b03811681146105ff57600080fd5b92506020840135801515811461061457600080fd5b915060408401356104b2816103be565b634e487b7160e01b600052601160045260246000fd5b8082018082111561064d5761064d610624565b92915050565b808202811582820484141761064d5761064d610624565b6000808335601e1984360301811261068157600080fd5b83018035915067ffffffffffffffff82111561069c57600080fd5b60200191503681900382131561041857600080fd5b600080858511156106c157600080fd5b838611156106ce57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156107085780818660140360031b1b83161692505b505092915050565b6001600160801b0382811682821603908082111561073057610730610624565b509291505056", + "nonce": "0x1d1" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xed09bc17bbe34f24b0b6bd1ed893d748335663d42b6e61623999772f0617bf66", + "transactionIndex": "0x2", + "blockHash": "0xa19406951cf2263998ddea3b542c3f265d40484fdbbc7c305babf392e284d932", + "blockNumber": "0x2b8bf8e", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1b4f83", + "gasUsed": "0x1a8aeb", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x0000000000000000000000000000000000000000000000000009451901f92500000000000000000000000000000000000000000000000000033c939ef81c6c02000000000000000000000000000000000000000000000611489903de08baec2000000000000000000000000000000000000000000000000003334e85f623470200000000000000000000000000000000000000000000061148a248f70ab41120", + "blockHash": "0xa19406951cf2263998ddea3b542c3f265d40484fdbbc7c305babf392e284d932", + "blockNumber": "0x2b8bf8e", + "transactionHash": "0xed09bc17bbe34f24b0b6bd1ed893d748335663d42b6e61623999772f0617bf66", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + }, + { + "transactionHash": "0x5bfabf0d17e1fc24556b66786feb048a874a4768864a231b2f77004dbcad66ae", + "transactionIndex": "0x3", + "blockHash": "0xa19406951cf2263998ddea3b542c3f265d40484fdbbc7c305babf392e284d932", + "blockNumber": "0x2b8bf8e", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x219e9f", + "gasUsed": "0x64f1c", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x0000000000000000000000000000000000000000000000000002341207e6240000000000000000000000000000000000000000000000000003334e85f47a985200000000000000000000000000000000000000000000061148a248f70ab4112000000000000000000000000000000000000000000000000003311a73ec94745200000000000000000000000000000000000000000000061148a47d09129a3520", + "blockHash": "0xa19406951cf2263998ddea3b542c3f265d40484fdbbc7c305babf392e284d932", + "blockNumber": "0x2b8bf8e", + "transactionHash": "0x5bfabf0d17e1fc24556b66786feb048a874a4768864a231b2f77004dbcad66ae", + "transactionIndex": "0x3", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + }, + { + "transactionHash": "0xa41af2cba175bc10e156a9457ee1fccfb5deb6a61f5fffb60c4757131054fab1", + "transactionIndex": "0x4", + "blockHash": "0xa19406951cf2263998ddea3b542c3f265d40484fdbbc7c305babf392e284d932", + "blockNumber": "0x2b8bf8e", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x28883d", + "gasUsed": "0x6e99e", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x00000000000000000000000000000000000000000000000000026a081b14020000000000000000000000000000000000000000000000000003311a73ec2f829200000000000000000000000000000000000000000000061148a47d09129a3520000000000000000000000000000000000000000000000000032eb06bd11b809200000000000000000000000000000000000000000000061148a6e7112dae3720", + "blockHash": "0xa19406951cf2263998ddea3b542c3f265d40484fdbbc7c305babf392e284d932", + "blockNumber": "0x2b8bf8e", + "transactionHash": "0xa41af2cba175bc10e156a9457ee1fccfb5deb6a61f5fffb60c4757131054fab1", + "transactionIndex": "0x4", + "logIndex": "0x5", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f10" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1707331815, + "chain": 80001, + "multi": false, + "commit": "60e1432" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707430304.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707430304.json new file mode 100644 index 00000000..8f9f6689 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707430304.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x9c18252cd4aefca54f68714e67f3b848ba9ba75a4edd2571524844192e146951", + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0x68F21b955dC9b2C24f738419CD9277eBfCa1Deb0", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x274b89", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50611ed6806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063c4a5240911610059578063c4a524091461031f578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b66bd1d2146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f03660046115c2565b6103a3565b005b34801561010357600080fd5b50610117610112366004611604565b6103f6565b6040519081526020015b60405180910390f35b610117610138366004611650565b61089a565b34801561014957600080fd5b506101bb6101583660046116cc565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f366004611786565b610d63565b34801561023057600080fd5b5061024461023f3660046115c2565b61123a565b6040516101219b9a99989796959493929190611980565b34801561026757600080fd5b5061029c610276366004611a17565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca3660046115c2565b611335565b6102e26102dd366004611a34565b611364565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d366004611a17565b60006020819052908152604090205481565b34801561032b57600080fd5b5061011761033a366004611786565b6113a1565b34801561034b57600080fd5b5061011761035a366004611a70565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611aa9565b6113ef565b6100f561039e366004611ac2565b61145b565b60008060008060003660003660003660006103be8d8d61123a565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d63565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611add565b61043791611b07565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611b3c565b61057f928290611add565b61058891611b4f565b60601c845260003661059b603482611b3c565b906105a7601436611b3c565b926105b493929190611add565b6105bd91611b07565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611b82565b9261065c93929190611add565b61066591611b4f565b60601c036106f85760008484886060015160146106829190611b82565b90896060015160346106949190611b82565b926106a193929190611add565b6106aa91611b07565b60001c90508484886060015160346106c29190611b82565b6106cd928290611add565b90935091506106dd816034611b82565b876060018181516106ee9190611b82565b90525061070e9050565b606086015161070990808587611add565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611b95565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611be0565b90506107b488826114bb565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611add565b6040518663ffffffff1660e01b815260040161083e959493929190611bf9565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611be0565b905061088b86826114bb565b955050505050505b9392505050565b6000336108aa6020860186611a17565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611c32565b61092491602091600091611add565b61092d91611b07565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099c575060008181526001602090815260408083203384528252808320546003909252909120546001600160801b03918216600160801b909104909116115b156109ab576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf05760a082901c60011615610a815760008481526002602090815260408083209483529381528382203383529052919091205490610a3b565b366000610a8f836034611b82565b610a9d6101408c018c611c32565b905010158015610ae857506001600160a01b038416610ac06101408c018c611c32565b8590610acd826014611b82565b92610ada93929190611add565b610ae391611b4f565b60601c145b15610c12576000610afd6101408c018c611c32565b610b08866014611b82565b90610b14876034611b82565b92610b2193929190611add565b610b2a91611b07565b905080610b38856034611b82565b610b429190611b82565b610b506101408d018d611c32565b90501015610bb35760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc16101408c018c611c32565b610bcc866034611b82565b9083610bd9886034611b82565b610be39190611b82565b92610bf093929190611add565b9093509150610c00816034611b82565b610c0a9085611b82565b935050610c32565b610c206101408b018b611c32565b610c2d9185918291611add565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c71959493929190611c79565b6020604051808303816000875af1158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb49190611be0565b9050610cc088826114bb565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3b92505050565b60408301516000906001600160a01b0316638e0125d233878b610d176101408f018f611c32565b610d249189908290611add565b6040518663ffffffff1660e01b8152600401610d44959493929190611bf9565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dba5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b33600090815260036020526040812080546001600160801b031691610dde83611dbc565b91906101000a8154816001600160801b0302191690836001600160801b031602179055506001600160801b03168b6001600160801b031614610e595760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b6000610e6e8c8c8c8c8c8c8c8c8c8c8c6113a1565b9050600160a01b6001600160a01b03198c1601610e98573360009081526020819052604090208190555b60005b86811015610f6257610ecb888883818110610eb857610eb8611de2565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03384878786818110610eec57610eec611de2565b9050602002810190610efe9190611c32565b6040518563ffffffff1660e01b8152600401610f1d9493929190611df8565b600060405180830381600087803b158015610f3757600080fd5b505af1158015610f4b573d6000803e3d6000fd5b505050508080610f5a90611e2a565b915050610e9b565b5060405163e9b51de560e01b81526001600160a01b038b169063e9b51de590610f9590339085908a908a90600401611df8565b600060405180830381600087803b158015610faf57600080fd5b505af1158015610fc3573d6000803e3d6000fd5b50505050600087876000818110610fdc57610fdc611de2565b9050602002013590506040518060c001604052808e6001600160801b031681526020018d6001600160a01b03191681526020018c6001600160a01b031681526020018281526020018b65ffffffffffff1681526020018a65ffffffffffff16815250600160008481526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b878110156111f15788888281811061117e5761117e611de2565b905060200201356002600085815260200190815260200160002060008b8b6001866111a99190611b3c565b8181106111b8576111b8611de2565b602090810292909201358352508181019290925260409081016000908120338252909252902055806111e981611e2a565b915050611164565b5060408051338152602081018490527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a150505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261125f93929190611add565b61126891611e43565b60801c9a508c8c601090601c9261128193929190611add565b61128a91611e7a565b99508c8c601c906022926112a093929190611add565b6112a991611ea8565b60d01c97508c8c6022906028926112c293929190611add565b6112cb91611ea8565b60d01c96508c8c602890603c926112e493929190611add565b6112ed91611b4f565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b602081900361134f5761134b61038b8284611b07565b5050565b61134b61135c8284611e43565b60801c61145b565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008b8b8b8b8b8b8b8b8b8b8b6040516020016113c89b9a99989796959493929190611980565b6040516020818303038152906040528051906020012090509b9a5050505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec9101611450565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146114ef5760019250611571565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816115345765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611552575065ffffffffffff60a01b5b80821890821102188061156b575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261158b57600080fd5b50813567ffffffffffffffff8111156115a357600080fd5b6020830191508360208285010111156115bb57600080fd5b9250929050565b600080602083850312156115d557600080fd5b823567ffffffffffffffff8111156115ec57600080fd5b6115f885828601611579565b90969095509350505050565b60008060006040848603121561161957600080fd5b83359250602084013567ffffffffffffffff81111561163757600080fd5b61164386828701611579565b9497909650939450505050565b60008060006060848603121561166557600080fd5b833567ffffffffffffffff81111561167c57600080fd5b8401610160818703121561168f57600080fd5b95602085013595506040909401359392505050565b6001600160a01b03811681146116b957600080fd5b50565b80356116c7816116a4565b919050565b600080604083850312156116df57600080fd5b8235915060208301356116f1816116a4565b809150509250929050565b80356001600160801b03811681146116c757600080fd5b80356001600160a01b0319811681146116c757600080fd5b803565ffffffffffff811681146116c757600080fd5b60008083601f84011261175357600080fd5b50813567ffffffffffffffff81111561176b57600080fd5b6020830191508360208260051b85010111156115bb57600080fd5b60008060008060008060008060008060006101008c8e0312156117a857600080fd5b6117b18c6116fc565b9a506117bf60208d01611713565b99506117cd60408d016116bc565b98506117db60608d0161172b565b97506117e960808d0161172b565b965067ffffffffffffffff8060a08e0135111561180557600080fd5b6118158e60a08f01358f01611741565b909750955060c08d013581101561182b57600080fd5b61183b8e60c08f01358f01611579565b909550935060e08d013581101561185157600080fd5b506118628d60e08e01358e01611741565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b858110156118a65781358752958201959082019060010161188a565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126118f157600080fd5b830160208101925035905067ffffffffffffffff81111561191157600080fd5b8036038213156115bb57600080fd5b60008383855260208086019550808560051b8301018460005b8781101561197357848303601f1901895261195482886118da565b61195f8582846118b1565b9a86019a9450505090830190600101611939565b5090979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a082018190526000906119db838201898b61187a565b905082810360c08401526119f08187896118b1565b905082810360e0840152611a05818587611920565b9e9d5050505050505050505050505050565b600060208284031215611a2957600080fd5b8135610893816116a4565b600080600060408486031215611a4957600080fd5b8335611a54816116a4565b9250602084013567ffffffffffffffff81111561163757600080fd5b600080600060608486031215611a8557600080fd5b83359250602084013591506040840135611a9e816116a4565b809150509250925092565b600060208284031215611abb57600080fd5b5035919050565b600060208284031215611ad457600080fd5b610893826116fc565b60008085851115611aed57600080fd5b83861115611afa57600080fd5b5050820193919092039150565b80356020831015611b2057600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611b2057611b20611b26565b6bffffffffffffffffffffffff1981358181169160148510156115715760149490940360031b84901b1690921692915050565b80820180821115611b2057611b20611b26565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611bd360c0830184866118b1565b9998505050505050505050565b600060208284031215611bf257600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611c276080830184866118b1565b979650505050505050565b6000808335601e19843603018112611c4957600080fd5b83018035915067ffffffffffffffff821115611c6457600080fd5b6020019150368190038213156115bb57600080fd5b6001600160a01b038616815260208101859052608060408201819052611cb1908201611ca4866116bc565b6001600160a01b03169052565b602084013560a08201526000611cca60408601866118da565b6101608060c0860152611ce26101e0860183856118b1565b9250611cf160608901896118da565b9250607f19808786030160e0880152611d0b8585846118b1565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611d54838c018c6118da565b9550935081888703016101a0890152611d6e8686866118b1565b9550611d7c818c018c6118da565b955093505080878603016101c08801525050611d998383836118b1565b925050508281036060840152611db08185876118b1565b98975050505050505050565b60006001600160801b03808316818103611dd857611dd8611b26565b6001019392505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000611e206060830184866118b1565b9695505050505050565b600060018201611e3c57611e3c611b26565b5060010190565b6fffffffffffffffffffffffffffffffff1981358181169160108510156115715760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561157157600c9490940360031b84901b1690921692915050565b6001600160d01b031981358181169160068510156115715760069490940360031b84901b169092169291505056", + "nonce": "0x1d2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x9c18252cd4aefca54f68714e67f3b848ba9ba75a4edd2571524844192e146951" + ], + "returns": {}, + "timestamp": 1707430304, + "chain": 80001, + "multi": false, + "commit": "60e1432" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707430395.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707430395.json new file mode 100644 index 00000000..29d452b4 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707430395.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x9c18252cd4aefca54f68714e67f3b848ba9ba75a4edd2571524844192e146951", + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0x68F21b955dC9b2C24f738419CD9277eBfCa1Deb0", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x274b89", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50611ed6806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063c4a5240911610059578063c4a524091461031f578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b66bd1d2146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f03660046115c2565b6103a3565b005b34801561010357600080fd5b50610117610112366004611604565b6103f6565b6040519081526020015b60405180910390f35b610117610138366004611650565b61089a565b34801561014957600080fd5b506101bb6101583660046116cc565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f366004611786565b610d63565b34801561023057600080fd5b5061024461023f3660046115c2565b61123a565b6040516101219b9a99989796959493929190611980565b34801561026757600080fd5b5061029c610276366004611a17565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca3660046115c2565b611335565b6102e26102dd366004611a34565b611364565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d366004611a17565b60006020819052908152604090205481565b34801561032b57600080fd5b5061011761033a366004611786565b6113a1565b34801561034b57600080fd5b5061011761035a366004611a70565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611aa9565b6113ef565b6100f561039e366004611ac2565b61145b565b60008060008060003660003660003660006103be8d8d61123a565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d63565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611add565b61043791611b07565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611b3c565b61057f928290611add565b61058891611b4f565b60601c845260003661059b603482611b3c565b906105a7601436611b3c565b926105b493929190611add565b6105bd91611b07565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611b82565b9261065c93929190611add565b61066591611b4f565b60601c036106f85760008484886060015160146106829190611b82565b90896060015160346106949190611b82565b926106a193929190611add565b6106aa91611b07565b60001c90508484886060015160346106c29190611b82565b6106cd928290611add565b90935091506106dd816034611b82565b876060018181516106ee9190611b82565b90525061070e9050565b606086015161070990808587611add565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611b95565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611be0565b90506107b488826114bb565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611add565b6040518663ffffffff1660e01b815260040161083e959493929190611bf9565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611be0565b905061088b86826114bb565b955050505050505b9392505050565b6000336108aa6020860186611a17565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611c32565b61092491602091600091611add565b61092d91611b07565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099c575060008181526001602090815260408083203384528252808320546003909252909120546001600160801b03918216600160801b909104909116115b156109ab576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf05760a082901c60011615610a815760008481526002602090815260408083209483529381528382203383529052919091205490610a3b565b366000610a8f836034611b82565b610a9d6101408c018c611c32565b905010158015610ae857506001600160a01b038416610ac06101408c018c611c32565b8590610acd826014611b82565b92610ada93929190611add565b610ae391611b4f565b60601c145b15610c12576000610afd6101408c018c611c32565b610b08866014611b82565b90610b14876034611b82565b92610b2193929190611add565b610b2a91611b07565b905080610b38856034611b82565b610b429190611b82565b610b506101408d018d611c32565b90501015610bb35760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc16101408c018c611c32565b610bcc866034611b82565b9083610bd9886034611b82565b610be39190611b82565b92610bf093929190611add565b9093509150610c00816034611b82565b610c0a9085611b82565b935050610c32565b610c206101408b018b611c32565b610c2d9185918291611add565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c71959493929190611c79565b6020604051808303816000875af1158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb49190611be0565b9050610cc088826114bb565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3b92505050565b60408301516000906001600160a01b0316638e0125d233878b610d176101408f018f611c32565b610d249189908290611add565b6040518663ffffffff1660e01b8152600401610d44959493929190611bf9565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dba5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b33600090815260036020526040812080546001600160801b031691610dde83611dbc565b91906101000a8154816001600160801b0302191690836001600160801b031602179055506001600160801b03168b6001600160801b031614610e595760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b6000610e6e8c8c8c8c8c8c8c8c8c8c8c6113a1565b9050600160a01b6001600160a01b03198c1601610e98573360009081526020819052604090208190555b60005b86811015610f6257610ecb888883818110610eb857610eb8611de2565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03384878786818110610eec57610eec611de2565b9050602002810190610efe9190611c32565b6040518563ffffffff1660e01b8152600401610f1d9493929190611df8565b600060405180830381600087803b158015610f3757600080fd5b505af1158015610f4b573d6000803e3d6000fd5b505050508080610f5a90611e2a565b915050610e9b565b5060405163e9b51de560e01b81526001600160a01b038b169063e9b51de590610f9590339085908a908a90600401611df8565b600060405180830381600087803b158015610faf57600080fd5b505af1158015610fc3573d6000803e3d6000fd5b50505050600087876000818110610fdc57610fdc611de2565b9050602002013590506040518060c001604052808e6001600160801b031681526020018d6001600160a01b03191681526020018c6001600160a01b031681526020018281526020018b65ffffffffffff1681526020018a65ffffffffffff16815250600160008481526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b878110156111f15788888281811061117e5761117e611de2565b905060200201356002600085815260200190815260200160002060008b8b6001866111a99190611b3c565b8181106111b8576111b8611de2565b602090810292909201358352508181019290925260409081016000908120338252909252902055806111e981611e2a565b915050611164565b5060408051338152602081018490527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a150505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261125f93929190611add565b61126891611e43565b60801c9a508c8c601090601c9261128193929190611add565b61128a91611e7a565b99508c8c601c906022926112a093929190611add565b6112a991611ea8565b60d01c97508c8c6022906028926112c293929190611add565b6112cb91611ea8565b60d01c96508c8c602890603c926112e493929190611add565b6112ed91611b4f565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b602081900361134f5761134b61038b8284611b07565b5050565b61134b61135c8284611e43565b60801c61145b565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008b8b8b8b8b8b8b8b8b8b8b6040516020016113c89b9a99989796959493929190611980565b6040516020818303038152906040528051906020012090509b9a5050505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec9101611450565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146114ef5760019250611571565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816115345765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611552575065ffffffffffff60a01b5b80821890821102188061156b575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261158b57600080fd5b50813567ffffffffffffffff8111156115a357600080fd5b6020830191508360208285010111156115bb57600080fd5b9250929050565b600080602083850312156115d557600080fd5b823567ffffffffffffffff8111156115ec57600080fd5b6115f885828601611579565b90969095509350505050565b60008060006040848603121561161957600080fd5b83359250602084013567ffffffffffffffff81111561163757600080fd5b61164386828701611579565b9497909650939450505050565b60008060006060848603121561166557600080fd5b833567ffffffffffffffff81111561167c57600080fd5b8401610160818703121561168f57600080fd5b95602085013595506040909401359392505050565b6001600160a01b03811681146116b957600080fd5b50565b80356116c7816116a4565b919050565b600080604083850312156116df57600080fd5b8235915060208301356116f1816116a4565b809150509250929050565b80356001600160801b03811681146116c757600080fd5b80356001600160a01b0319811681146116c757600080fd5b803565ffffffffffff811681146116c757600080fd5b60008083601f84011261175357600080fd5b50813567ffffffffffffffff81111561176b57600080fd5b6020830191508360208260051b85010111156115bb57600080fd5b60008060008060008060008060008060006101008c8e0312156117a857600080fd5b6117b18c6116fc565b9a506117bf60208d01611713565b99506117cd60408d016116bc565b98506117db60608d0161172b565b97506117e960808d0161172b565b965067ffffffffffffffff8060a08e0135111561180557600080fd5b6118158e60a08f01358f01611741565b909750955060c08d013581101561182b57600080fd5b61183b8e60c08f01358f01611579565b909550935060e08d013581101561185157600080fd5b506118628d60e08e01358e01611741565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b858110156118a65781358752958201959082019060010161188a565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126118f157600080fd5b830160208101925035905067ffffffffffffffff81111561191157600080fd5b8036038213156115bb57600080fd5b60008383855260208086019550808560051b8301018460005b8781101561197357848303601f1901895261195482886118da565b61195f8582846118b1565b9a86019a9450505090830190600101611939565b5090979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a082018190526000906119db838201898b61187a565b905082810360c08401526119f08187896118b1565b905082810360e0840152611a05818587611920565b9e9d5050505050505050505050505050565b600060208284031215611a2957600080fd5b8135610893816116a4565b600080600060408486031215611a4957600080fd5b8335611a54816116a4565b9250602084013567ffffffffffffffff81111561163757600080fd5b600080600060608486031215611a8557600080fd5b83359250602084013591506040840135611a9e816116a4565b809150509250925092565b600060208284031215611abb57600080fd5b5035919050565b600060208284031215611ad457600080fd5b610893826116fc565b60008085851115611aed57600080fd5b83861115611afa57600080fd5b5050820193919092039150565b80356020831015611b2057600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611b2057611b20611b26565b6bffffffffffffffffffffffff1981358181169160148510156115715760149490940360031b84901b1690921692915050565b80820180821115611b2057611b20611b26565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611bd360c0830184866118b1565b9998505050505050505050565b600060208284031215611bf257600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611c276080830184866118b1565b979650505050505050565b6000808335601e19843603018112611c4957600080fd5b83018035915067ffffffffffffffff821115611c6457600080fd5b6020019150368190038213156115bb57600080fd5b6001600160a01b038616815260208101859052608060408201819052611cb1908201611ca4866116bc565b6001600160a01b03169052565b602084013560a08201526000611cca60408601866118da565b6101608060c0860152611ce26101e0860183856118b1565b9250611cf160608901896118da565b9250607f19808786030160e0880152611d0b8585846118b1565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611d54838c018c6118da565b9550935081888703016101a0890152611d6e8686866118b1565b9550611d7c818c018c6118da565b955093505080878603016101c08801525050611d998383836118b1565b925050508281036060840152611db08185876118b1565b98975050505050505050565b60006001600160801b03808316818103611dd857611dd8611b26565b6001019392505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000611e206060830184866118b1565b9695505050505050565b600060018201611e3c57611e3c611b26565b5060010190565b6fffffffffffffffffffffffffffffffff1981358181169160108510156115715760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561157157600c9490940360031b84901b1690921692915050565b6001600160d01b031981358181169160068510156115715760069490940360031b84901b169092169291505056", + "nonce": "0x1d2" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x9c18252cd4aefca54f68714e67f3b848ba9ba75a4edd2571524844192e146951", + "transactionIndex": "0x2c", + "blockHash": "0x34dcc4dbe5b09f39c365780863972b4df38b515c0dd7151bd5fc13eee0c051f8", + "blockNumber": "0x2b96880", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0xdcd222", + "gasUsed": "0x1ae041", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000c275dc8be39f50d12f66b6a63629c39da5bae5bd" + ], + "data": "0x000000000000000000000000000000000000000000000000000962e6a293ef00000000000000000000000000000000000000000000000000032eb06bd0ace6b200000000000000000000000000000000000000000000142c191f474a6dbe64a000000000000000000000000000000000000000000000000003254d852e18f7b200000000000000000000000000000000000000000000142c1928aa31105253a0", + "blockHash": "0x34dcc4dbe5b09f39c365780863972b4df38b515c0dd7151bd5fc13eee0c051f8", + "blockNumber": "0x2b96880", + "transactionHash": "0x9c18252cd4aefca54f68714e67f3b848ba9ba75a4edd2571524844192e146951", + "transactionIndex": "0x2c", + "logIndex": "0xa3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000002000000000000000000000000000000000000000000000000000800000000000000000040100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000040000000004000000000000000000001000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1707430395, + "chain": 80001, + "multi": false, + "commit": "60e1432" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707439892.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707439892.json new file mode 100644 index 00000000..ad20254e --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707439892.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xac55704b236879e66bd05cb7d6a3f5d0c29fecbe0b33abecf3d353e6a27f80bd", + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0x965Bea0f8b65aABD1F5148F64654BbAAfB9d2Efa", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x28ffa2", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50612037806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063b66bd1d211610059578063b66bd1d214610312578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b52e2c7a146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f03660046115be565b6103a3565b005b34801561010357600080fd5b50610117610112366004611600565b6103f6565b6040519081526020015b60405180910390f35b61011761013836600461164c565b61089a565b34801561014957600080fd5b506101bb6101583660046116c8565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f366004611782565b610d63565b34801561023057600080fd5b5061024461023f3660046115be565b611239565b6040516101219b9a9998979695949392919061197c565b34801561026757600080fd5b5061029c610276366004611a13565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca3660046115be565b611334565b6102e26102dd366004611a30565b611363565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d366004611a6c565b6113a0565b34801561031e57600080fd5b5061011761032d366004611a13565b60006020819052908152604090205481565b34801561034b57600080fd5b5061011761035a366004611b4d565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611b86565b6113eb565b6100f561039e366004611b9f565b611457565b60008060008060003660003660003660006103be8d8d611239565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d63565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611bba565b61043791611be4565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611c19565b61057f928290611bba565b61058891611c2c565b60601c845260003661059b603482611c19565b906105a7601436611c19565b926105b493929190611bba565b6105bd91611be4565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611c5f565b9261065c93929190611bba565b61066591611c2c565b60601c036106f85760008484886060015160146106829190611c5f565b90896060015160346106949190611c5f565b926106a193929190611bba565b6106aa91611be4565b60001c90508484886060015160346106c29190611c5f565b6106cd928290611bba565b90935091506106dd816034611c5f565b876060018181516106ee9190611c5f565b90525061070e9050565b606086015161070990808587611bba565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611c72565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611cbd565b90506107b488826114b7565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611bba565b6040518663ffffffff1660e01b815260040161083e959493929190611cd6565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611cbd565b905061088b86826114b7565b955050505050505b9392505050565b6000336108aa6020860186611a13565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611d0f565b61092491602091600091611bba565b61092d91611be4565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099c575060008181526001602090815260408083203384528252808320546003909252909120546001600160801b03918216600160801b909104909116115b156109ab576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf05760a082901c60011615610a815760008481526002602090815260408083209483529381528382203383529052919091205490610a3b565b366000610a8f836034611c5f565b610a9d6101408c018c611d0f565b905010158015610ae857506001600160a01b038416610ac06101408c018c611d0f565b8590610acd826014611c5f565b92610ada93929190611bba565b610ae391611c2c565b60601c145b15610c12576000610afd6101408c018c611d0f565b610b08866014611c5f565b90610b14876034611c5f565b92610b2193929190611bba565b610b2a91611be4565b905080610b38856034611c5f565b610b429190611c5f565b610b506101408d018d611d0f565b90501015610bb35760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc16101408c018c611d0f565b610bcc866034611c5f565b9083610bd9886034611c5f565b610be39190611c5f565b92610bf093929190611bba565b9093509150610c00816034611c5f565b610c0a9085611c5f565b935050610c32565b610c206101408b018b611d0f565b610c2d9185918291611bba565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c71959493929190611d56565b6020604051808303816000875af1158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb49190611cbd565b9050610cc088826114b7565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3b92505050565b60408301516000906001600160a01b0316638e0125d233878b610d176101408f018f611d0f565b610d249189908290611bba565b6040518663ffffffff1660e01b8152600401610d44959493929190611cd6565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dba5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b33600090815260036020526040812080546001600160801b031691610dde83611e99565b91906101000a8154816001600160801b0302191690836001600160801b031602179055506001600160801b03168b6001600160801b031614610e595760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b6000610e6d8b8b8b8b8b8b8b8b8b8b6113a0565b9050600160a01b6001600160a01b03198c1601610e97573360009081526020819052604090208190555b60005b86811015610f6157610eca888883818110610eb757610eb7611ebf565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03384878786818110610eeb57610eeb611ebf565b9050602002810190610efd9190611d0f565b6040518563ffffffff1660e01b8152600401610f1c9493929190611ed5565b600060405180830381600087803b158015610f3657600080fd5b505af1158015610f4a573d6000803e3d6000fd5b505050508080610f5990611f07565b915050610e9a565b5060405163e9b51de560e01b81526001600160a01b038b169063e9b51de590610f9490339085908a908a90600401611ed5565b600060405180830381600087803b158015610fae57600080fd5b505af1158015610fc2573d6000803e3d6000fd5b50505050600087876000818110610fdb57610fdb611ebf565b9050602002013590506040518060c001604052808e6001600160801b031681526020018d6001600160a01b03191681526020018c6001600160a01b031681526020018281526020018b65ffffffffffff1681526020018a65ffffffffffff16815250600160008481526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b878110156111f05788888281811061117d5761117d611ebf565b905060200201356002600085815260200190815260200160002060008b8b6001866111a89190611c19565b8181106111b7576111b7611ebf565b602090810292909201358352508181019290925260409081016000908120338252909252902055806111e881611f07565b915050611163565b5060408051338152602081018490527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a150505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261125e93929190611bba565b61126791611f20565b60801c9a508c8c601090601c9261128093929190611bba565b61128991611f57565b99508c8c601c9060229261129f93929190611bba565b6112a891611f85565b60d01c97508c8c6022906028926112c193929190611bba565b6112ca91611f85565b60d01c96508c8c602890603c926112e393929190611bba565b6112ec91611c2c565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b602081900361134e5761134a61038b8284611be4565b5050565b61134a61135b8284611f20565b60801c611457565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008a8a8a8a8a8a8a8a8a8a6040516020016113c59a99989796959493929190611fb3565b6040516020818303038152906040528051906020012090509a9950505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec910161144c565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146114eb576001925061156d565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816115305765ffffffffffff60a01b91505b5065ffffffffffff60a01b85168061154e575065ffffffffffff60a01b5b808218908211021880611567575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261158757600080fd5b50813567ffffffffffffffff81111561159f57600080fd5b6020830191508360208285010111156115b757600080fd5b9250929050565b600080602083850312156115d157600080fd5b823567ffffffffffffffff8111156115e857600080fd5b6115f485828601611575565b90969095509350505050565b60008060006040848603121561161557600080fd5b83359250602084013567ffffffffffffffff81111561163357600080fd5b61163f86828701611575565b9497909650939450505050565b60008060006060848603121561166157600080fd5b833567ffffffffffffffff81111561167857600080fd5b8401610160818703121561168b57600080fd5b95602085013595506040909401359392505050565b6001600160a01b03811681146116b557600080fd5b50565b80356116c3816116a0565b919050565b600080604083850312156116db57600080fd5b8235915060208301356116ed816116a0565b809150509250929050565b80356001600160801b03811681146116c357600080fd5b80356001600160a01b0319811681146116c357600080fd5b803565ffffffffffff811681146116c357600080fd5b60008083601f84011261174f57600080fd5b50813567ffffffffffffffff81111561176757600080fd5b6020830191508360208260051b85010111156115b757600080fd5b60008060008060008060008060008060006101008c8e0312156117a457600080fd5b6117ad8c6116f8565b9a506117bb60208d0161170f565b99506117c960408d016116b8565b98506117d760608d01611727565b97506117e560808d01611727565b965067ffffffffffffffff8060a08e0135111561180157600080fd5b6118118e60a08f01358f0161173d565b909750955060c08d013581101561182757600080fd5b6118378e60c08f01358f01611575565b909550935060e08d013581101561184d57600080fd5b5061185e8d60e08e01358e0161173d565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b858110156118a257813587529582019590820190600101611886565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126118ed57600080fd5b830160208101925035905067ffffffffffffffff81111561190d57600080fd5b8036038213156115b757600080fd5b60008383855260208086019550808560051b8301018460005b8781101561196f57848303601f1901895261195082886118d6565b61195b8582846118ad565b9a86019a9450505090830190600101611935565b5090979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a082018190526000906119d7838201898b611876565b905082810360c08401526119ec8187896118ad565b905082810360e0840152611a0181858761191c565b9e9d5050505050505050505050505050565b600060208284031215611a2557600080fd5b8135610893816116a0565b600080600060408486031215611a4557600080fd5b8335611a50816116a0565b9250602084013567ffffffffffffffff81111561163357600080fd5b60008060008060008060008060008060e08b8d031215611a8b57600080fd5b611a948b61170f565b995060208b0135611aa4816116a0565b9850611ab260408c01611727565b9750611ac060608c01611727565b965060808b013567ffffffffffffffff80821115611add57600080fd5b611ae98e838f0161173d565b909850965060a08d0135915080821115611b0257600080fd5b611b0e8e838f01611575565b909650945060c08d0135915080821115611b2757600080fd5b50611b348d828e0161173d565b915080935050809150509295989b9194979a5092959850565b600080600060608486031215611b6257600080fd5b83359250602084013591506040840135611b7b816116a0565b809150509250925092565b600060208284031215611b9857600080fd5b5035919050565b600060208284031215611bb157600080fd5b610893826116f8565b60008085851115611bca57600080fd5b83861115611bd757600080fd5b5050820193919092039150565b80356020831015611bfd57600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611bfd57611bfd611c03565b6bffffffffffffffffffffffff19813581811691601485101561156d5760149490940360031b84901b1690921692915050565b80820180821115611bfd57611bfd611c03565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611cb060c0830184866118ad565b9998505050505050505050565b600060208284031215611ccf57600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611d046080830184866118ad565b979650505050505050565b6000808335601e19843603018112611d2657600080fd5b83018035915067ffffffffffffffff821115611d4157600080fd5b6020019150368190038213156115b757600080fd5b6001600160a01b038616815260208101859052608060408201819052611d8e908201611d81866116b8565b6001600160a01b03169052565b602084013560a08201526000611da760408601866118d6565b6101608060c0860152611dbf6101e0860183856118ad565b9250611dce60608901896118d6565b9250607f19808786030160e0880152611de88585846118ad565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611e31838c018c6118d6565b9550935081888703016101a0890152611e4b8686866118ad565b9550611e59818c018c6118d6565b955093505080878603016101c08801525050611e768383836118ad565b925050508281036060840152611e8d8185876118ad565b98975050505050505050565b60006001600160801b03808316818103611eb557611eb5611c03565b6001019392505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000611efd6060830184866118ad565b9695505050505050565b600060018201611f1957611f19611c03565b5060010190565b6fffffffffffffffffffffffffffffffff19813581811691601085101561156d5760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561156d57600c9490940360031b84901b1690921692915050565b6001600160d01b0319813581811691600685101561156d5760069490940360031b84901b1690921692915050565b6001600160a01b03198b1681526001600160a01b038a16602082015265ffffffffffff89811660408301528816606082015260e060808201819052600090611ffe908301888a611876565b82810360a08401526120118187896118ad565b905082810360c084015261202681858761191c565b9d9c5050505050505050505050505056", + "nonce": "0x1d3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xac55704b236879e66bd05cb7d6a3f5d0c29fecbe0b33abecf3d353e6a27f80bd" + ], + "returns": {}, + "timestamp": 1707439892, + "chain": 80001, + "multi": false, + "commit": "60e1432" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707439906.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707439906.json new file mode 100644 index 00000000..b2e434f5 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707439906.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xac55704b236879e66bd05cb7d6a3f5d0c29fecbe0b33abecf3d353e6a27f80bd", + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0x965Bea0f8b65aABD1F5148F64654BbAAfB9d2Efa", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x28ffa2", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50612037806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063b66bd1d211610059578063b66bd1d214610312578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b52e2c7a146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f03660046115be565b6103a3565b005b34801561010357600080fd5b50610117610112366004611600565b6103f6565b6040519081526020015b60405180910390f35b61011761013836600461164c565b61089a565b34801561014957600080fd5b506101bb6101583660046116c8565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f366004611782565b610d63565b34801561023057600080fd5b5061024461023f3660046115be565b611239565b6040516101219b9a9998979695949392919061197c565b34801561026757600080fd5b5061029c610276366004611a13565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca3660046115be565b611334565b6102e26102dd366004611a30565b611363565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d366004611a6c565b6113a0565b34801561031e57600080fd5b5061011761032d366004611a13565b60006020819052908152604090205481565b34801561034b57600080fd5b5061011761035a366004611b4d565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611b86565b6113eb565b6100f561039e366004611b9f565b611457565b60008060008060003660003660003660006103be8d8d611239565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d63565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611bba565b61043791611be4565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611c19565b61057f928290611bba565b61058891611c2c565b60601c845260003661059b603482611c19565b906105a7601436611c19565b926105b493929190611bba565b6105bd91611be4565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611c5f565b9261065c93929190611bba565b61066591611c2c565b60601c036106f85760008484886060015160146106829190611c5f565b90896060015160346106949190611c5f565b926106a193929190611bba565b6106aa91611be4565b60001c90508484886060015160346106c29190611c5f565b6106cd928290611bba565b90935091506106dd816034611c5f565b876060018181516106ee9190611c5f565b90525061070e9050565b606086015161070990808587611bba565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611c72565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611cbd565b90506107b488826114b7565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611bba565b6040518663ffffffff1660e01b815260040161083e959493929190611cd6565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611cbd565b905061088b86826114b7565b955050505050505b9392505050565b6000336108aa6020860186611a13565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611d0f565b61092491602091600091611bba565b61092d91611be4565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099c575060008181526001602090815260408083203384528252808320546003909252909120546001600160801b03918216600160801b909104909116115b156109ab576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf05760a082901c60011615610a815760008481526002602090815260408083209483529381528382203383529052919091205490610a3b565b366000610a8f836034611c5f565b610a9d6101408c018c611d0f565b905010158015610ae857506001600160a01b038416610ac06101408c018c611d0f565b8590610acd826014611c5f565b92610ada93929190611bba565b610ae391611c2c565b60601c145b15610c12576000610afd6101408c018c611d0f565b610b08866014611c5f565b90610b14876034611c5f565b92610b2193929190611bba565b610b2a91611be4565b905080610b38856034611c5f565b610b429190611c5f565b610b506101408d018d611d0f565b90501015610bb35760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc16101408c018c611d0f565b610bcc866034611c5f565b9083610bd9886034611c5f565b610be39190611c5f565b92610bf093929190611bba565b9093509150610c00816034611c5f565b610c0a9085611c5f565b935050610c32565b610c206101408b018b611d0f565b610c2d9185918291611bba565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c71959493929190611d56565b6020604051808303816000875af1158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb49190611cbd565b9050610cc088826114b7565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3b92505050565b60408301516000906001600160a01b0316638e0125d233878b610d176101408f018f611d0f565b610d249189908290611bba565b6040518663ffffffff1660e01b8152600401610d44959493929190611cd6565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dba5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b33600090815260036020526040812080546001600160801b031691610dde83611e99565b91906101000a8154816001600160801b0302191690836001600160801b031602179055506001600160801b03168b6001600160801b031614610e595760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b6000610e6d8b8b8b8b8b8b8b8b8b8b6113a0565b9050600160a01b6001600160a01b03198c1601610e97573360009081526020819052604090208190555b60005b86811015610f6157610eca888883818110610eb757610eb7611ebf565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03384878786818110610eeb57610eeb611ebf565b9050602002810190610efd9190611d0f565b6040518563ffffffff1660e01b8152600401610f1c9493929190611ed5565b600060405180830381600087803b158015610f3657600080fd5b505af1158015610f4a573d6000803e3d6000fd5b505050508080610f5990611f07565b915050610e9a565b5060405163e9b51de560e01b81526001600160a01b038b169063e9b51de590610f9490339085908a908a90600401611ed5565b600060405180830381600087803b158015610fae57600080fd5b505af1158015610fc2573d6000803e3d6000fd5b50505050600087876000818110610fdb57610fdb611ebf565b9050602002013590506040518060c001604052808e6001600160801b031681526020018d6001600160a01b03191681526020018c6001600160a01b031681526020018281526020018b65ffffffffffff1681526020018a65ffffffffffff16815250600160008481526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b878110156111f05788888281811061117d5761117d611ebf565b905060200201356002600085815260200190815260200160002060008b8b6001866111a89190611c19565b8181106111b7576111b7611ebf565b602090810292909201358352508181019290925260409081016000908120338252909252902055806111e881611f07565b915050611163565b5060408051338152602081018490527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a150505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261125e93929190611bba565b61126791611f20565b60801c9a508c8c601090601c9261128093929190611bba565b61128991611f57565b99508c8c601c9060229261129f93929190611bba565b6112a891611f85565b60d01c97508c8c6022906028926112c193929190611bba565b6112ca91611f85565b60d01c96508c8c602890603c926112e393929190611bba565b6112ec91611c2c565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b602081900361134e5761134a61038b8284611be4565b5050565b61134a61135b8284611f20565b60801c611457565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008a8a8a8a8a8a8a8a8a8a6040516020016113c59a99989796959493929190611fb3565b6040516020818303038152906040528051906020012090509a9950505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec910161144c565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146114eb576001925061156d565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816115305765ffffffffffff60a01b91505b5065ffffffffffff60a01b85168061154e575065ffffffffffff60a01b5b808218908211021880611567575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261158757600080fd5b50813567ffffffffffffffff81111561159f57600080fd5b6020830191508360208285010111156115b757600080fd5b9250929050565b600080602083850312156115d157600080fd5b823567ffffffffffffffff8111156115e857600080fd5b6115f485828601611575565b90969095509350505050565b60008060006040848603121561161557600080fd5b83359250602084013567ffffffffffffffff81111561163357600080fd5b61163f86828701611575565b9497909650939450505050565b60008060006060848603121561166157600080fd5b833567ffffffffffffffff81111561167857600080fd5b8401610160818703121561168b57600080fd5b95602085013595506040909401359392505050565b6001600160a01b03811681146116b557600080fd5b50565b80356116c3816116a0565b919050565b600080604083850312156116db57600080fd5b8235915060208301356116ed816116a0565b809150509250929050565b80356001600160801b03811681146116c357600080fd5b80356001600160a01b0319811681146116c357600080fd5b803565ffffffffffff811681146116c357600080fd5b60008083601f84011261174f57600080fd5b50813567ffffffffffffffff81111561176757600080fd5b6020830191508360208260051b85010111156115b757600080fd5b60008060008060008060008060008060006101008c8e0312156117a457600080fd5b6117ad8c6116f8565b9a506117bb60208d0161170f565b99506117c960408d016116b8565b98506117d760608d01611727565b97506117e560808d01611727565b965067ffffffffffffffff8060a08e0135111561180157600080fd5b6118118e60a08f01358f0161173d565b909750955060c08d013581101561182757600080fd5b6118378e60c08f01358f01611575565b909550935060e08d013581101561184d57600080fd5b5061185e8d60e08e01358e0161173d565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b858110156118a257813587529582019590820190600101611886565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126118ed57600080fd5b830160208101925035905067ffffffffffffffff81111561190d57600080fd5b8036038213156115b757600080fd5b60008383855260208086019550808560051b8301018460005b8781101561196f57848303601f1901895261195082886118d6565b61195b8582846118ad565b9a86019a9450505090830190600101611935565b5090979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a082018190526000906119d7838201898b611876565b905082810360c08401526119ec8187896118ad565b905082810360e0840152611a0181858761191c565b9e9d5050505050505050505050505050565b600060208284031215611a2557600080fd5b8135610893816116a0565b600080600060408486031215611a4557600080fd5b8335611a50816116a0565b9250602084013567ffffffffffffffff81111561163357600080fd5b60008060008060008060008060008060e08b8d031215611a8b57600080fd5b611a948b61170f565b995060208b0135611aa4816116a0565b9850611ab260408c01611727565b9750611ac060608c01611727565b965060808b013567ffffffffffffffff80821115611add57600080fd5b611ae98e838f0161173d565b909850965060a08d0135915080821115611b0257600080fd5b611b0e8e838f01611575565b909650945060c08d0135915080821115611b2757600080fd5b50611b348d828e0161173d565b915080935050809150509295989b9194979a5092959850565b600080600060608486031215611b6257600080fd5b83359250602084013591506040840135611b7b816116a0565b809150509250925092565b600060208284031215611b9857600080fd5b5035919050565b600060208284031215611bb157600080fd5b610893826116f8565b60008085851115611bca57600080fd5b83861115611bd757600080fd5b5050820193919092039150565b80356020831015611bfd57600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611bfd57611bfd611c03565b6bffffffffffffffffffffffff19813581811691601485101561156d5760149490940360031b84901b1690921692915050565b80820180821115611bfd57611bfd611c03565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611cb060c0830184866118ad565b9998505050505050505050565b600060208284031215611ccf57600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611d046080830184866118ad565b979650505050505050565b6000808335601e19843603018112611d2657600080fd5b83018035915067ffffffffffffffff821115611d4157600080fd5b6020019150368190038213156115b757600080fd5b6001600160a01b038616815260208101859052608060408201819052611d8e908201611d81866116b8565b6001600160a01b03169052565b602084013560a08201526000611da760408601866118d6565b6101608060c0860152611dbf6101e0860183856118ad565b9250611dce60608901896118d6565b9250607f19808786030160e0880152611de88585846118ad565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611e31838c018c6118d6565b9550935081888703016101a0890152611e4b8686866118ad565b9550611e59818c018c6118d6565b955093505080878603016101c08801525050611e768383836118ad565b925050508281036060840152611e8d8185876118ad565b98975050505050505050565b60006001600160801b03808316818103611eb557611eb5611c03565b6001019392505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000611efd6060830184866118ad565b9695505050505050565b600060018201611f1957611f19611c03565b5060010190565b6fffffffffffffffffffffffffffffffff19813581811691601085101561156d5760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561156d57600c9490940360031b84901b1690921692915050565b6001600160d01b0319813581811691600685101561156d5760069490940360031b84901b1690921692915050565b6001600160a01b03198b1681526001600160a01b038a16602082015265ffffffffffff89811660408301528816606082015260e060808201819052600090611ffe908301888a611876565b82810360a08401526120118187896118ad565b905082810360c084015261202681858761191c565b9d9c5050505050505050505050505056", + "nonce": "0x1d3" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xac55704b236879e66bd05cb7d6a3f5d0c29fecbe0b33abecf3d353e6a27f80bd", + "transactionIndex": "0x2", + "blockHash": "0xd71ebcaea257f41ffeffc4fae5f415c93e2dbe517fabc5570dcc82ffc5582e3c", + "blockNumber": "0x2b97895", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1df13d", + "gasUsed": "0x1c0a87", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + ], + "data": "0x00000000000000000000000000000000000000000000000000126dcebd16268200000000000000000000000000000000000000000000000003254d852c85d3e3000000000000000000000000000000000000000000000060f7789dc7f78a88900000000000000000000000000000000000000000000000000312dfb66f6fad61000000000000000000000000000000000000000000000060f78b0b96b4a0af12", + "blockHash": "0xd71ebcaea257f41ffeffc4fae5f415c93e2dbe517fabc5570dcc82ffc5582e3c", + "blockNumber": "0x2b97895", + "transactionHash": "0xac55704b236879e66bd05cb7d6a3f5d0c29fecbe0b33abecf3d353e6a27f80bd", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000200000000000000000000000000000000000000000010000000000200000000000000000000000000000000000000000000000000000002000004000000000000000000001000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0xa83efbfe" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1707439906, + "chain": 80001, + "multi": false, + "commit": "60e1432" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707741950.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707741950.json new file mode 100644 index 00000000..81917f1a --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707741950.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x7d2de72251685ec4f433d6479f844c3c688ae894be1a06def804adfb55afc9c6", + "transactionType": "CREATE2", + "contractName": "MerklePolicy", + "contractAddress": "0xb808D75B5ACf6B5513eb816d3980C733ae6Be468", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x146081", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061107f806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae014610043578063c92ce35114610058578063ecfcd9301461007d578063f2a108001461009d575b600080fd5b6100566100513660046109f7565b6100da565b005b61006b610066366004610a51565b61012a565b60405190815260200160405180910390f35b34801561008957600080fd5b5061006b610098366004610adf565b6102ad565b3480156100a957600080fd5b5061006b6100b8366004610b61565b6000602081815293815260408082208552928152828120909352825290205481565b60006100e96020828486610b9d565b6100f291610bc7565b336000908152602081815260408083209783529681528682206001600160a01b03989098168252969096529390942092909255505050565b6000368161013b6060870187610be6565b336000908152602081815260408083208c845282528083206001600160a01b038e1684529091528120549294509092506101786004828587610b9d565b61018191610c2d565b90506001600160e01b03198116635194544760e01b14806101b257506001600160e01b0319811663b68df16d60e01b145b1561021257863587016020808901358901908101903560006101d88689898787876102bb565b9050801561020157604051633b755d2d60e21b8152600160048201526024015b60405180910390fd5b6000985050505050505050506102a4565b636581952160e11b6001600160e01b031982160161028857863587016020818101913590898101358a0190810190356000610252878a8a888888886104ed565b9050801561027657604051633b755d2d60e21b8152600160048201526024016101f8565b600099505050505050505050506102a4565b604051633b755d2d60e21b8152600060048201526024016101f8565b95945050505050565b60005b979650505050505050565b600080635194544760e01b6102d3600483898b610b9d565b6102dc91610c2d565b6001600160e01b03191614905060006102f86020870187610c5d565b6001600160a01b0316148061033a57506103156020860186610c5d565b6001600160a01b031661032c60246010898b610b9d565b61033591610c78565b60601c145b6103565760405162461bcd60e51b81526004016101f890610cab565b801561039b57604085013561036f60446024898b610b9d565b61037891610bc7565b11156103965760405162461bcd60e51b81526004016101f890610cef565b61041b565b60016103ad60a0870160808801610d5d565b60018111156103be576103be610d38565b1461041b5760405162461bcd60e51b815260206004820152602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b60648201526084016101f8565b366000808361042b57602461042e565b60445b808b01358b01602481019450600401359250905061044d83838a6106c7565b6104695760405162461bcd60e51b81526004016101f890610d78565b6104cd878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040518f92506104b291508c90602001610e68565b60405160208183030381529060405280519060200120610950565b6104de5760019450505050506104e3565b505050505b9695505050505050565b6000600487810135880160248101910135825b818110156106b9573683838381811061051b5761051b610f28565b905060200281019061052d9190610f3e565b90503689898481811061054257610542610f28565b90506020028101906105549190610f5e565b905060006105656020830183610c5d565b6001600160a01b031614806105a357506105826020820182610c5d565b6001600160a01b03166105986020840184610c5d565b6001600160a01b0316145b6105bf5760405162461bcd60e51b81526004016101f890610cab565b6040810135602083013511156105e75760405162461bcd60e51b81526004016101f890610cef565b6105fd6105f76040840184610be6565b836106c7565b6106195760405162461bcd60e51b81526004016101f890610d78565b61069288888581811061062e5761062e610f28565b90506020028101906106409190610f74565b80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508e836040516020016104b29190610e68565b6106a4576001955050505050506102b0565b505080806106b190610fd4565b915050610500565b505050979650505050505050565b60006106d96040830160208401610fed565b6001600160e01b0319166106f1600460008688610b9d565b6106fa91610c2d565b6001600160e01b0319161461071157506000610949565b60005b6107216060840184611008565b905081101561094357366107386060850185611008565b8381811061074857610748610f28565b60600291909101915060009050868661076384356004611051565b9061077085356004611051565b61077b906020611051565b9261078893929190610b9d565b61079191610bc7565b905060006107a56040840160208501611064565b60058111156107b6576107b6610d38565b1480156107c7575081604001358114155b156107d85760009350505050610949565b60016107ea6040840160208501611064565b60058111156107fb576107fb610d38565b14801561080c575081604001358111155b1561081d5760009350505050610949565b600261082f6040840160208501611064565b600581111561084057610840610d38565b148015610851575081604001358110155b156108625760009350505050610949565b60036108746040840160208501611064565b600581111561088557610885610d38565b1480156108955750816040013581105b156108a65760009350505050610949565b60046108b86040840160208501611064565b60058111156108c9576108c9610d38565b1480156108d95750816040013581115b156108ea5760009350505050610949565b60056108fc6040840160208501611064565b600581111561090d5761090d610d38565b14801561091d5750816040013581145b1561092e5760009350505050610949565b5050808061093b90610fd4565b915050610714565b50600190505b9392505050565b600083511561098b5760208401845160051b81015b8151841160051b9384528151602094851852604060002093909101908082106109655750505b5014919050565b80356001600160a01b03811681146109a957600080fd5b919050565b60008083601f8401126109c057600080fd5b50813567ffffffffffffffff8111156109d857600080fd5b6020830191508360208285010111156109f057600080fd5b9250929050565b60008060008060608587031215610a0d57600080fd5b610a1685610992565b935060208501359250604085013567ffffffffffffffff811115610a3957600080fd5b610a45878288016109ae565b95989497509550505050565b600080600080600060808688031215610a6957600080fd5b610a7286610992565b945060208601359350604086013567ffffffffffffffff80821115610a9657600080fd5b90870190610160828a031215610aab57600080fd5b90935060608701359080821115610ac157600080fd5b50610ace888289016109ae565b969995985093965092949392505050565b600080600080600080600060c0888a031215610afa57600080fd5b610b0388610992565b9650610b1160208901610992565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115610b4257600080fd5b610b4e8a828b016109ae565b989b979a50959850939692959293505050565b600080600060608486031215610b7657600080fd5b610b7f84610992565b925060208401359150610b9460408501610992565b90509250925092565b60008085851115610bad57600080fd5b83861115610bba57600080fd5b5050820193919092039150565b80356020831015610be057600019602084900360031b1b165b92915050565b6000808335601e19843603018112610bfd57600080fd5b83018035915067ffffffffffffffff821115610c1857600080fd5b6020019150368190038213156109f057600080fd5b6001600160e01b03198135818116916004851015610c555780818660040360031b1b83161692505b505092915050565b600060208284031215610c6f57600080fd5b61094982610992565b6bffffffffffffffffffffffff198135818116916014851015610c555760149490940360031b84901b1690921692915050565b60208082526024908201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6040820152630c2e8c6d60e31b606082015260800190565b60208082526029908201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460408201526808195e18d95959195960ba1b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b8035600281106109a957600080fd5b600060208284031215610d6f57600080fd5b61094982610d4e565b60208082526033908201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206040820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b606082015260800190565b80356001600160e01b0319811681146109a957600080fd5b8035600681106109a957600080fd5b8183526000602080850194508260005b85811015610e495781358752610e19838301610de3565b60068110610e2957610e29610d38565b878401526040828101359088015260609687019690910190600101610e02565b509495945050505050565b60028110610e6457610e64610d38565b9052565b602081526001600160a01b03610e7d83610992565b16602082015263ffffffff60e01b610e9760208401610dcb565b1660408201526040820135606082015260006060830135601e19843603018112610ec057600080fd5b830160208101903567ffffffffffffffff811115610edd57600080fd5b606081023603821315610eef57600080fd5b60a06080850152610f0460c085018284610df2565b915050610f1360808501610d4e565b610f2060a0850182610e54565b509392505050565b634e487b7160e01b600052603260045260246000fd5b60008235605e19833603018112610f5457600080fd5b9190910192915050565b60008235609e19833603018112610f5457600080fd5b6000808335601e19843603018112610f8b57600080fd5b83018035915067ffffffffffffffff821115610fa657600080fd5b6020019150600581901b36038213156109f057600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fe657610fe6610fbe565b5060010190565b600060208284031215610fff57600080fd5b61094982610dcb565b6000808335601e1984360301811261101f57600080fd5b83018035915067ffffffffffffffff82111561103a57600080fd5b60200191506060810236038213156109f057600080fd5b80820180821115610be057610be0610fbe565b60006020828403121561107657600080fd5b61094982610de356", + "nonce": "0x1d4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x7d2de72251685ec4f433d6479f844c3c688ae894be1a06def804adfb55afc9c6" + ], + "returns": {}, + "timestamp": 1707741950, + "chain": 80001, + "multi": false, + "commit": "1bc0841" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707741957.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707741957.json new file mode 100644 index 00000000..37e1304e --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707741957.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x7d2de72251685ec4f433d6479f844c3c688ae894be1a06def804adfb55afc9c6", + "transactionType": "CREATE2", + "contractName": "MerklePolicy", + "contractAddress": "0xb808D75B5ACf6B5513eb816d3980C733ae6Be468", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x146081", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061107f806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae014610043578063c92ce35114610058578063ecfcd9301461007d578063f2a108001461009d575b600080fd5b6100566100513660046109f7565b6100da565b005b61006b610066366004610a51565b61012a565b60405190815260200160405180910390f35b34801561008957600080fd5b5061006b610098366004610adf565b6102ad565b3480156100a957600080fd5b5061006b6100b8366004610b61565b6000602081815293815260408082208552928152828120909352825290205481565b60006100e96020828486610b9d565b6100f291610bc7565b336000908152602081815260408083209783529681528682206001600160a01b03989098168252969096529390942092909255505050565b6000368161013b6060870187610be6565b336000908152602081815260408083208c845282528083206001600160a01b038e1684529091528120549294509092506101786004828587610b9d565b61018191610c2d565b90506001600160e01b03198116635194544760e01b14806101b257506001600160e01b0319811663b68df16d60e01b145b1561021257863587016020808901358901908101903560006101d88689898787876102bb565b9050801561020157604051633b755d2d60e21b8152600160048201526024015b60405180910390fd5b6000985050505050505050506102a4565b636581952160e11b6001600160e01b031982160161028857863587016020818101913590898101358a0190810190356000610252878a8a888888886104ed565b9050801561027657604051633b755d2d60e21b8152600160048201526024016101f8565b600099505050505050505050506102a4565b604051633b755d2d60e21b8152600060048201526024016101f8565b95945050505050565b60005b979650505050505050565b600080635194544760e01b6102d3600483898b610b9d565b6102dc91610c2d565b6001600160e01b03191614905060006102f86020870187610c5d565b6001600160a01b0316148061033a57506103156020860186610c5d565b6001600160a01b031661032c60246010898b610b9d565b61033591610c78565b60601c145b6103565760405162461bcd60e51b81526004016101f890610cab565b801561039b57604085013561036f60446024898b610b9d565b61037891610bc7565b11156103965760405162461bcd60e51b81526004016101f890610cef565b61041b565b60016103ad60a0870160808801610d5d565b60018111156103be576103be610d38565b1461041b5760405162461bcd60e51b815260206004820152602760248201527f53657373696f6e4b657956616c696461746f723a206f7065726174696f6e206d6044820152660d2e6dac2e8c6d60cb1b60648201526084016101f8565b366000808361042b57602461042e565b60445b808b01358b01602481019450600401359250905061044d83838a6106c7565b6104695760405162461bcd60e51b81526004016101f890610d78565b6104cd878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040518f92506104b291508c90602001610e68565b60405160208183030381529060405280519060200120610950565b6104de5760019450505050506104e3565b505050505b9695505050505050565b6000600487810135880160248101910135825b818110156106b9573683838381811061051b5761051b610f28565b905060200281019061052d9190610f3e565b90503689898481811061054257610542610f28565b90506020028101906105549190610f5e565b905060006105656020830183610c5d565b6001600160a01b031614806105a357506105826020820182610c5d565b6001600160a01b03166105986020840184610c5d565b6001600160a01b0316145b6105bf5760405162461bcd60e51b81526004016101f890610cab565b6040810135602083013511156105e75760405162461bcd60e51b81526004016101f890610cef565b6105fd6105f76040840184610be6565b836106c7565b6106195760405162461bcd60e51b81526004016101f890610d78565b61069288888581811061062e5761062e610f28565b90506020028101906106409190610f74565b80806020026020016040519081016040528093929190818152602001838360200280828437600081840152601f19601f820116905080830192505050505050508e836040516020016104b29190610e68565b6106a4576001955050505050506102b0565b505080806106b190610fd4565b915050610500565b505050979650505050505050565b60006106d96040830160208401610fed565b6001600160e01b0319166106f1600460008688610b9d565b6106fa91610c2d565b6001600160e01b0319161461071157506000610949565b60005b6107216060840184611008565b905081101561094357366107386060850185611008565b8381811061074857610748610f28565b60600291909101915060009050868661076384356004611051565b9061077085356004611051565b61077b906020611051565b9261078893929190610b9d565b61079191610bc7565b905060006107a56040840160208501611064565b60058111156107b6576107b6610d38565b1480156107c7575081604001358114155b156107d85760009350505050610949565b60016107ea6040840160208501611064565b60058111156107fb576107fb610d38565b14801561080c575081604001358111155b1561081d5760009350505050610949565b600261082f6040840160208501611064565b600581111561084057610840610d38565b148015610851575081604001358110155b156108625760009350505050610949565b60036108746040840160208501611064565b600581111561088557610885610d38565b1480156108955750816040013581105b156108a65760009350505050610949565b60046108b86040840160208501611064565b60058111156108c9576108c9610d38565b1480156108d95750816040013581115b156108ea5760009350505050610949565b60056108fc6040840160208501611064565b600581111561090d5761090d610d38565b14801561091d5750816040013581145b1561092e5760009350505050610949565b5050808061093b90610fd4565b915050610714565b50600190505b9392505050565b600083511561098b5760208401845160051b81015b8151841160051b9384528151602094851852604060002093909101908082106109655750505b5014919050565b80356001600160a01b03811681146109a957600080fd5b919050565b60008083601f8401126109c057600080fd5b50813567ffffffffffffffff8111156109d857600080fd5b6020830191508360208285010111156109f057600080fd5b9250929050565b60008060008060608587031215610a0d57600080fd5b610a1685610992565b935060208501359250604085013567ffffffffffffffff811115610a3957600080fd5b610a45878288016109ae565b95989497509550505050565b600080600080600060808688031215610a6957600080fd5b610a7286610992565b945060208601359350604086013567ffffffffffffffff80821115610a9657600080fd5b90870190610160828a031215610aab57600080fd5b90935060608701359080821115610ac157600080fd5b50610ace888289016109ae565b969995985093965092949392505050565b600080600080600080600060c0888a031215610afa57600080fd5b610b0388610992565b9650610b1160208901610992565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff811115610b4257600080fd5b610b4e8a828b016109ae565b989b979a50959850939692959293505050565b600080600060608486031215610b7657600080fd5b610b7f84610992565b925060208401359150610b9460408501610992565b90509250925092565b60008085851115610bad57600080fd5b83861115610bba57600080fd5b5050820193919092039150565b80356020831015610be057600019602084900360031b1b165b92915050565b6000808335601e19843603018112610bfd57600080fd5b83018035915067ffffffffffffffff821115610c1857600080fd5b6020019150368190038213156109f057600080fd5b6001600160e01b03198135818116916004851015610c555780818660040360031b1b83161692505b505092915050565b600060208284031215610c6f57600080fd5b61094982610992565b6bffffffffffffffffffffffff198135818116916014851015610c555760149490940360031b84901b1690921692915050565b60208082526024908201527f53657373696f6e4b657956616c696461746f723a20746172676574206d69736d6040820152630c2e8c6d60e31b606082015260800190565b60208082526029908201527f53657373696f6e4b657956616c696461746f723a2076616c7565206c696d697460408201526808195e18d95959195960ba1b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b8035600281106109a957600080fd5b600060208284031215610d6f57600080fd5b61094982610d4e565b60208082526033908201527f53657373696f6e4b657956616c696461746f723a207065726d697373696f6e206040820152721d995c9a599a58d85d1a5bdb8819985a5b1959606a1b606082015260800190565b80356001600160e01b0319811681146109a957600080fd5b8035600681106109a957600080fd5b8183526000602080850194508260005b85811015610e495781358752610e19838301610de3565b60068110610e2957610e29610d38565b878401526040828101359088015260609687019690910190600101610e02565b509495945050505050565b60028110610e6457610e64610d38565b9052565b602081526001600160a01b03610e7d83610992565b16602082015263ffffffff60e01b610e9760208401610dcb565b1660408201526040820135606082015260006060830135601e19843603018112610ec057600080fd5b830160208101903567ffffffffffffffff811115610edd57600080fd5b606081023603821315610eef57600080fd5b60a06080850152610f0460c085018284610df2565b915050610f1360808501610d4e565b610f2060a0850182610e54565b509392505050565b634e487b7160e01b600052603260045260246000fd5b60008235605e19833603018112610f5457600080fd5b9190910192915050565b60008235609e19833603018112610f5457600080fd5b6000808335601e19843603018112610f8b57600080fd5b83018035915067ffffffffffffffff821115610fa657600080fd5b6020019150600581901b36038213156109f057600080fd5b634e487b7160e01b600052601160045260246000fd5b600060018201610fe657610fe6610fbe565b5060010190565b600060208284031215610fff57600080fd5b61094982610dcb565b6000808335601e1984360301811261101f57600080fd5b83018035915067ffffffffffffffff82111561103a57600080fd5b60200191506060810236038213156109f057600080fd5b80820180821115610be057610be0610fbe565b60006020828403121561107657600080fd5b61094982610de356", + "nonce": "0x1d4" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x7d2de72251685ec4f433d6479f844c3c688ae894be1a06def804adfb55afc9c6", + "transactionIndex": "0x2", + "blockHash": "0x51981d91608b9c200c0543c6fc34f6ccaf102e0ab0fdcca6ecda0e50341ce937", + "blockNumber": "0x2bb5ecf", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1221f2", + "gasUsed": "0xec1b2", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000c26880a0af2ea0c7e8130e6ec47af756465452e8" + ], + "data": "0x0000000000000000000000000000000000000000000000000005275847dfae000000000000000000000000000000000000000000000000000312dfbb15c6ccf10000000000000000000000000000000000000000000023945322b694fe94e60b000000000000000000000000000000000000000000000000030db862cde71ef10000000000000000000000000000000000000000000023945327dded4674940b", + "blockHash": "0x51981d91608b9c200c0543c6fc34f6ccaf102e0ab0fdcca6ecda0e50341ce937", + "blockNumber": "0x2bb5ecf", + "transactionHash": "0x7d2de72251685ec4f433d6479f844c3c688ae894be1a06def804adfb55afc9c6", + "transactionIndex": "0x2", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000020000000000000000001000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1707741957, + "chain": 80001, + "multi": false, + "commit": "1bc0841" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707822518.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707822518.json new file mode 100644 index 00000000..6cbbab04 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707822518.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xafc9cb887a29150932f5e25c421edb3170b0a8d998368bf85c20d6c9877781eb", + "transactionType": "CREATE2", + "contractName": "SignaturePolicy", + "contractAddress": "0x60e9a007782EB649B291608dCa9E74Aaa966D122", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x80a90", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061058c806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae014610043578063466a35f214610058578063c92ce351146100ad578063ecfcd930146100d4575b600080fd5b6100566100513660046102ce565b6100f4565b005b34801561006457600080fd5b50610098610073366004610328565b6000602081815293815260408082208552928152828120909352825290205460ff1681565b60405190151581526020015b60405180910390f35b6100c66100bb366004610364565b600095945050505050565b6040519081526020016100a4565b3480156100e057600080fd5b506100c66100ef3660046103f2565b61021d565b60006101028284018461048a565b905060005b81518110156102155760006001600160a01b031682828151811061012d5761012d61054f565b60200260200101516001600160a01b031603610178576000858152602081815260408083206001600160a01b038a16845282528083209091529020805460ff19166001179055610203565b600160008087815260200190815260200160002060008484815181106101a0576101a061054f565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061020d81610565565b915050610107565b505050505050565b6000858152602081815260408083206001600160a01b03808b168552908352818420908b16845290915281205460ff161561025a5750600061025e565b5060015b979650505050505050565b80356001600160a01b038116811461028057600080fd5b919050565b60008083601f84011261029757600080fd5b50813567ffffffffffffffff8111156102af57600080fd5b6020830191508360208285010111156102c757600080fd5b9250929050565b600080600080606085870312156102e457600080fd5b6102ed85610269565b935060208501359250604085013567ffffffffffffffff81111561031057600080fd5b61031c87828801610285565b95989497509550505050565b60008060006060848603121561033d57600080fd5b8335925061034d60208501610269565b915061035b60408501610269565b90509250925092565b60008060008060006080868803121561037c57600080fd5b61038586610269565b945060208601359350604086013567ffffffffffffffff808211156103a957600080fd5b90870190610160828a0312156103be57600080fd5b909350606087013590808211156103d457600080fd5b506103e188828901610285565b969995985093965092949392505050565b600080600080600080600060c0888a03121561040d57600080fd5b61041688610269565b965061042460208901610269565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561045557600080fd5b6104618a828b01610285565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561049d57600080fd5b823567ffffffffffffffff808211156104b557600080fd5b818501915085601f8301126104c957600080fd5b8135818111156104db576104db610474565b8060051b604051601f19603f8301168101818110858211171561050057610500610474565b60405291825284820192508381018501918883111561051e57600080fd5b938501935b828510156105435761053485610269565b84529385019392850192610523565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161058557634e487b7160e01b600052601160045260246000fd5b506001019056", + "nonce": "0x1d5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xafc9cb887a29150932f5e25c421edb3170b0a8d998368bf85c20d6c9877781eb" + ], + "returns": {}, + "timestamp": 1707822518, + "chain": 80001, + "multi": false, + "commit": "1d02052" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1707822525.json b/broadcast/DeployModularPermission.s.sol/80001/run-1707822525.json new file mode 100644 index 00000000..b9c6e7d1 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1707822525.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xafc9cb887a29150932f5e25c421edb3170b0a8d998368bf85c20d6c9877781eb", + "transactionType": "CREATE2", + "contractName": "SignaturePolicy", + "contractAddress": "0x60e9a007782EB649B291608dCa9E74Aaa966D122", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x80a90", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061058c806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae014610043578063466a35f214610058578063c92ce351146100ad578063ecfcd930146100d4575b600080fd5b6100566100513660046102ce565b6100f4565b005b34801561006457600080fd5b50610098610073366004610328565b6000602081815293815260408082208552928152828120909352825290205460ff1681565b60405190151581526020015b60405180910390f35b6100c66100bb366004610364565b600095945050505050565b6040519081526020016100a4565b3480156100e057600080fd5b506100c66100ef3660046103f2565b61021d565b60006101028284018461048a565b905060005b81518110156102155760006001600160a01b031682828151811061012d5761012d61054f565b60200260200101516001600160a01b031603610178576000858152602081815260408083206001600160a01b038a16845282528083209091529020805460ff19166001179055610203565b600160008087815260200190815260200160002060008484815181106101a0576101a061054f565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061020d81610565565b915050610107565b505050505050565b6000858152602081815260408083206001600160a01b03808b168552908352818420908b16845290915281205460ff161561025a5750600061025e565b5060015b979650505050505050565b80356001600160a01b038116811461028057600080fd5b919050565b60008083601f84011261029757600080fd5b50813567ffffffffffffffff8111156102af57600080fd5b6020830191508360208285010111156102c757600080fd5b9250929050565b600080600080606085870312156102e457600080fd5b6102ed85610269565b935060208501359250604085013567ffffffffffffffff81111561031057600080fd5b61031c87828801610285565b95989497509550505050565b60008060006060848603121561033d57600080fd5b8335925061034d60208501610269565b915061035b60408501610269565b90509250925092565b60008060008060006080868803121561037c57600080fd5b61038586610269565b945060208601359350604086013567ffffffffffffffff808211156103a957600080fd5b90870190610160828a0312156103be57600080fd5b909350606087013590808211156103d457600080fd5b506103e188828901610285565b969995985093965092949392505050565b600080600080600080600060c0888a03121561040d57600080fd5b61041688610269565b965061042460208901610269565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561045557600080fd5b6104618a828b01610285565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b6000602080838503121561049d57600080fd5b823567ffffffffffffffff808211156104b557600080fd5b818501915085601f8301126104c957600080fd5b8135818111156104db576104db610474565b8060051b604051601f19603f8301168101818110858211171561050057610500610474565b60405291825284820192508381018501918883111561051e57600080fd5b938501935b828510156105435761053485610269565b84529385019392850192610523565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b60006001820161058557634e487b7160e01b600052601160045260246000fd5b506001019056", + "nonce": "0x1d5" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xafc9cb887a29150932f5e25c421edb3170b0a8d998368bf85c20d6c9877781eb", + "transactionIndex": "0x2", + "blockHash": "0xde9e19ccd546c800277af8effd96cbe24640ed08591c3ac968bd8d0d5e2433b8", + "blockNumber": "0x2bbe632", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1259af", + "gasUsed": "0x57fed", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000c275dc8be39f50d12f66b6a63629c39da5bae5bd" + ], + "data": "0x0000000000000000000000000000000000000000000000000002e1918fc7c40e000000000000000000000000000000000000000000000000030db870c5511d83000000000000000000000000000000000000000000001436667fd2243f7a0a55000000000000000000000000000000000000000000000000030ad6df358959750000000000000000000000000000000000000000000014366682b3b5cf41ce63", + "blockHash": "0xde9e19ccd546c800277af8effd96cbe24640ed08591c3ac968bd8d0d5e2433b8", + "blockNumber": "0x2bbe632", + "transactionHash": "0xafc9cb887a29150932f5e25c421edb3170b0a8d998368bf85c20d6c9877781eb", + "transactionIndex": "0x2", + "logIndex": "0x7", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000002000000000000000000000000000000000000000000000000000800000000000000000040100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000040000000004000000000000000000001000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x861c4696" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1707822525, + "chain": 80001, + "multi": false, + "commit": "1d02052" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1708112110.json b/broadcast/DeployModularPermission.s.sol/80001/run-1708112110.json new file mode 100644 index 00000000..2c82f2e1 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1708112110.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0x89e6d563669543b286e9a46b28a735c7fffe00a561b93a88e0a853dda955ccfb", + "transactionType": "CREATE2", + "contractName": "SudoPolicy", + "contractAddress": "0x9262C3A894328f9036Aa7a3f0f2cE8CF684ad20f", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3f7cc", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610270806100206000396000f3fe6080604052600436106100335760003560e01c8062282ae014610038578063c92ce3511461004e578063ecfcd93014610079575b600080fd5b61004c610046366004610106565b50505050565b005b61006761005c366004610160565b600095945050505050565b60405190815260200160405180910390f35b34801561008557600080fd5b506100676100943660046101ee565b6000979650505050505050565b80356001600160a01b03811681146100b857600080fd5b919050565b60008083601f8401126100cf57600080fd5b50813567ffffffffffffffff8111156100e757600080fd5b6020830191508360208285010111156100ff57600080fd5b9250929050565b6000806000806060858703121561011c57600080fd5b610125856100a1565b935060208501359250604085013567ffffffffffffffff81111561014857600080fd5b610154878288016100bd565b95989497509550505050565b60008060008060006080868803121561017857600080fd5b610181866100a1565b945060208601359350604086013567ffffffffffffffff808211156101a557600080fd5b90870190610160828a0312156101ba57600080fd5b909350606087013590808211156101d057600080fd5b506101dd888289016100bd565b969995985093965092949392505050565b600080600080600080600060c0888a03121561020957600080fd5b610212886100a1565b9650610220602089016100a1565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561025157600080fd5b61025d8a828b016100bd565b989b979a5095985093969295929350505056", + "nonce": "0x1d8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x89e6d563669543b286e9a46b28a735c7fffe00a561b93a88e0a853dda955ccfb" + ], + "returns": {}, + "timestamp": 1708112110, + "chain": 80001, + "multi": false, + "commit": "c6d2eff" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1708112117.json b/broadcast/DeployModularPermission.s.sol/80001/run-1708112117.json new file mode 100644 index 00000000..af2b7e09 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1708112117.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0x89e6d563669543b286e9a46b28a735c7fffe00a561b93a88e0a853dda955ccfb", + "transactionType": "CREATE2", + "contractName": "SudoPolicy", + "contractAddress": "0x9262C3A894328f9036Aa7a3f0f2cE8CF684ad20f", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x3f7cc", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b50610270806100206000396000f3fe6080604052600436106100335760003560e01c8062282ae014610038578063c92ce3511461004e578063ecfcd93014610079575b600080fd5b61004c610046366004610106565b50505050565b005b61006761005c366004610160565b600095945050505050565b60405190815260200160405180910390f35b34801561008557600080fd5b506100676100943660046101ee565b6000979650505050505050565b80356001600160a01b03811681146100b857600080fd5b919050565b60008083601f8401126100cf57600080fd5b50813567ffffffffffffffff8111156100e757600080fd5b6020830191508360208285010111156100ff57600080fd5b9250929050565b6000806000806060858703121561011c57600080fd5b610125856100a1565b935060208501359250604085013567ffffffffffffffff81111561014857600080fd5b610154878288016100bd565b95989497509550505050565b60008060008060006080868803121561017857600080fd5b610181866100a1565b945060208601359350604086013567ffffffffffffffff808211156101a557600080fd5b90870190610160828a0312156101ba57600080fd5b909350606087013590808211156101d057600080fd5b506101dd888289016100bd565b969995985093965092949392505050565b600080600080600080600060c0888a03121561020957600080fd5b610212886100a1565b9650610220602089016100a1565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561025157600080fd5b61025d8a828b016100bd565b989b979a5095985093969295929350505056", + "nonce": "0x1d8" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x89e6d563669543b286e9a46b28a735c7fffe00a561b93a88e0a853dda955ccfb", + "transactionIndex": "0x3", + "blockHash": "0x9e7b7d9ca8c172613bfc0fa847fb7d588487008d1b7b7c1e5de7658bd07f7700", + "blockNumber": "0x2bdc57c", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x11750a", + "gasUsed": "0x2df96", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000be188d6641e8b680743a4815dfa0f6208038960f" + ], + "data": "0x000000000000000000000000000000000000000000000000000100e681fc8a0000000000000000000000000000000000000000000000000002b49b1af88c2ced00000000000000000000000000000000000000000000365882a68791112f118100000000000000000000000000000000000000000000000002b39a34768fa2ed00000000000000000000000000000000000000000000365882a78877932b9b81", + "blockHash": "0x9e7b7d9ca8c172613bfc0fa847fb7d588487008d1b7b7c1e5de7658bd07f7700", + "blockNumber": "0x2bdc57c", + "transactionHash": "0x89e6d563669543b286e9a46b28a735c7fffe00a561b93a88e0a853dda955ccfb", + "transactionIndex": "0x3", + "logIndex": "0x8", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000004000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000080000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100040000000000000000000000000000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x59682f0f" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1708112117, + "chain": 80001, + "multi": false, + "commit": "c6d2eff" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1708376910.json b/broadcast/DeployModularPermission.s.sol/80001/run-1708376910.json new file mode 100644 index 00000000..6a75149c --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1708376910.json @@ -0,0 +1,53 @@ +{ + "transactions": [ + { + "hash": "0x2493846e40436f02051522cde3a043de4ccbae1b9cadd8c40995e1b7a5847f4b", + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0xfdDE9a26b6c3B7ca4b52C5f010d5B9Fb67e09E5A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2a44f3", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061213e806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063b66bd1d211610059578063b66bd1d214610312578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b52e2c7a146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f03660046116a1565b6103a3565b005b34801561010357600080fd5b506101176101123660046116e3565b6103f6565b6040519081526020015b60405180910390f35b61011761013836600461172f565b61089a565b34801561014957600080fd5b506101bb6101583660046117ab565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f366004611865565b610d63565b34801561023057600080fd5b5061024461023f3660046116a1565b61131c565b6040516101219b9a99989796959493929190611a5c565b34801561026757600080fd5b5061029c610276366004611af3565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca3660046116a1565b611417565b6102e26102dd366004611b10565b611446565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d366004611b4c565b611483565b34801561031e57600080fd5b5061011761032d366004611af3565b60006020819052908152604090205481565b34801561034b57600080fd5b5061011761035a366004611c2d565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611c66565b6114ce565b6100f561039e366004611c7f565b61153a565b60008060008060003660003660003660006103be8d8d61131c565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d63565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611c9a565b61043791611cc4565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611cf9565b61057f928290611c9a565b61058891611d0c565b60601c845260003661059b603482611cf9565b906105a7601436611cf9565b926105b493929190611c9a565b6105bd91611cc4565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611d3f565b9261065c93929190611c9a565b61066591611d0c565b60601c036106f85760008484886060015160146106829190611d3f565b90896060015160346106949190611d3f565b926106a193929190611c9a565b6106aa91611cc4565b60001c90508484886060015160346106c29190611d3f565b6106cd928290611c9a565b90935091506106dd816034611d3f565b876060018181516106ee9190611d3f565b90525061070e9050565b606086015161070990808587611c9a565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611d52565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611d9d565b90506107b4888261159a565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611c9a565b6040518663ffffffff1660e01b815260040161083e959493929190611db6565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611d9d565b905061088b868261159a565b955050505050505b9392505050565b6000336108aa6020860186611af3565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611def565b61092491602091600091611c9a565b61092d91611cc4565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099c575060008181526001602090815260408083203384528252808320546003909252909120546001600160801b03918216600160801b909104909116115b156109ab576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf05760a082901c60011615610a815760008481526002602090815260408083209483529381528382203383529052919091205490610a3b565b366000610a8f836034611d3f565b610a9d6101408c018c611def565b905010158015610ae857506001600160a01b038416610ac06101408c018c611def565b8590610acd826014611d3f565b92610ada93929190611c9a565b610ae391611d0c565b60601c145b15610c12576000610afd6101408c018c611def565b610b08866014611d3f565b90610b14876034611d3f565b92610b2193929190611c9a565b610b2a91611cc4565b905080610b38856034611d3f565b610b429190611d3f565b610b506101408d018d611def565b90501015610bb35760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc16101408c018c611def565b610bcc866034611d3f565b9083610bd9886034611d3f565b610be39190611d3f565b92610bf093929190611c9a565b9093509150610c00816034611d3f565b610c0a9085611d3f565b935050610c32565b610c206101408b018b611def565b610c2d9185918291611c9a565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c71959493929190611e36565b6020604051808303816000875af1158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb49190611d9d565b9050610cc0888261159a565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3b92505050565b60408301516000906001600160a01b0316638e0125d233878b610d176101408f018f611def565b610d249189908290611c9a565b6040518663ffffffff1660e01b8152600401610d44959493929190611db6565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dba5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b336000908152600360205260409020546001600160801b038c811691161480610e17575033600090815260036020526040902054610e02906001600160801b03166001611f79565b6001600160801b03168b6001600160801b0316145b610e5a5760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b33600090815260036020526040812080546001600160801b031691610e7e83611fa0565b91906101000a8154816001600160801b0302191690836001600160801b03160217905550506000610eb78b8b8b8b8b8b8b8b8b8b611483565b9050600160a01b6001600160a01b03198c1601610ee1573360009081526020819052604090208190555b8a60005b87811015610fd557610f15898983818110610f0257610f02611fc6565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03385888886818110610f3657610f36611fc6565b9050602002810190610f489190611def565b6040518563ffffffff1660e01b8152600401610f679493929190611fdc565b600060405180830381600087803b158015610f8157600080fd5b505af1158015610f95573d6000803e3d6000fd5b505050506000610fbd8a8a84818110610fb057610fb0611fc6565b9050602002013560a01c90565b92909216915080610fcd8161200e565b915050610ee5565b5060405163e9b51de560e01b81526001600160a01b038c169063e9b51de59061100890339086908b908b90600401611fdc565b600060405180830381600087803b15801561102257600080fd5b505af1158015611036573d6000803e3d6000fd5b5050505060008888600081811061104f5761104f611fc6565b60200291909101359150506001600160a01b03198216156110c65760405162461bcd60e51b815260206004820152602b60248201527f6572726f72203a207065726d697373696f6e20666c616720657863656564732060448201526a706f6c69637920666c616760a81b60648201526084016108fc565b6040518060c001604052808f6001600160801b031681526020018e6001600160a01b03191681526020018d6001600160a01b031681526020018281526020018c65ffffffffffff1681526020018b65ffffffffffff16815250600160008581526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b888110156112d25789898281811061125f5761125f611fc6565b905060200201356002600086815260200190815260200160002060008c8c60018661128a9190611cf9565b81811061129957611299611fc6565b602090810292909201358352508181019290925260409081016000908120338252909252902055806112ca8161200e565b915050611245565b5060408051338152602081018590527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a15050505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261134193929190611c9a565b61134a91612027565b60801c9a508c8c601090601c9261136393929190611c9a565b61136c9161205e565b99508c8c601c9060229261138293929190611c9a565b61138b9161208c565b60d01c97508c8c6022906028926113a493929190611c9a565b6113ad9161208c565b60d01c96508c8c602890603c926113c693929190611c9a565b6113cf91611d0c565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b60208190036114315761142d61038b8284611cc4565b5050565b61142d61143e8284612027565b60801c61153a565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008a8a8a8a8a8a8a8a8a8a6040516020016114a89a999897969594939291906120ba565b6040516020818303038152906040528051906020012090509a9950505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec910161152f565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146115ce5760019250611650565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816116135765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611631575065ffffffffffff60a01b5b80821890821102188061164a575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261166a57600080fd5b50813567ffffffffffffffff81111561168257600080fd5b60208301915083602082850101111561169a57600080fd5b9250929050565b600080602083850312156116b457600080fd5b823567ffffffffffffffff8111156116cb57600080fd5b6116d785828601611658565b90969095509350505050565b6000806000604084860312156116f857600080fd5b83359250602084013567ffffffffffffffff81111561171657600080fd5b61172286828701611658565b9497909650939450505050565b60008060006060848603121561174457600080fd5b833567ffffffffffffffff81111561175b57600080fd5b8401610160818703121561176e57600080fd5b95602085013595506040909401359392505050565b6001600160a01b038116811461179857600080fd5b50565b80356117a681611783565b919050565b600080604083850312156117be57600080fd5b8235915060208301356117d081611783565b809150509250929050565b80356001600160801b03811681146117a657600080fd5b80356001600160a01b0319811681146117a657600080fd5b803565ffffffffffff811681146117a657600080fd5b60008083601f84011261183257600080fd5b50813567ffffffffffffffff81111561184a57600080fd5b6020830191508360208260051b850101111561169a57600080fd5b60008060008060008060008060008060006101008c8e03121561188757600080fd5b6118908c6117db565b9a5061189e60208d016117f2565b99506118ac60408d0161179b565b98506118ba60608d0161180a565b97506118c860808d0161180a565b965067ffffffffffffffff8060a08e013511156118e457600080fd5b6118f48e60a08f01358f01611820565b909750955060c08d013581101561190a57600080fd5b61191a8e60c08f01358f01611658565b909550935060e08d013581101561193057600080fd5b506119418d60e08e01358e01611820565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b8581101561198557813587529582019590820190600101611969565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126119d057600080fd5b830160208101925035905067ffffffffffffffff8111156119f057600080fd5b80360382131561169a57600080fd5b81835260006020808501808196508560051b810191508460005b87811015611a4f578284038952611a3082886119b9565b611a3b868284611990565b9a87019a9550505090840190600101611a19565b5091979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a08201819052600090611ab7838201898b611959565b905082810360c0840152611acc818789611990565b905082810360e0840152611ae18185876119ff565b9e9d5050505050505050505050505050565b600060208284031215611b0557600080fd5b813561089381611783565b600080600060408486031215611b2557600080fd5b8335611b3081611783565b9250602084013567ffffffffffffffff81111561171657600080fd5b60008060008060008060008060008060e08b8d031215611b6b57600080fd5b611b748b6117f2565b995060208b0135611b8481611783565b9850611b9260408c0161180a565b9750611ba060608c0161180a565b965060808b013567ffffffffffffffff80821115611bbd57600080fd5b611bc98e838f01611820565b909850965060a08d0135915080821115611be257600080fd5b611bee8e838f01611658565b909650945060c08d0135915080821115611c0757600080fd5b50611c148d828e01611820565b915080935050809150509295989b9194979a5092959850565b600080600060608486031215611c4257600080fd5b83359250602084013591506040840135611c5b81611783565b809150509250925092565b600060208284031215611c7857600080fd5b5035919050565b600060208284031215611c9157600080fd5b610893826117db565b60008085851115611caa57600080fd5b83861115611cb757600080fd5b5050820193919092039150565b80356020831015611cdd57600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611cdd57611cdd611ce3565b6bffffffffffffffffffffffff1981358181169160148510156116505760149490940360031b84901b1690921692915050565b80820180821115611cdd57611cdd611ce3565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611d9060c083018486611990565b9998505050505050505050565b600060208284031215611daf57600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611de4608083018486611990565b979650505050505050565b6000808335601e19843603018112611e0657600080fd5b83018035915067ffffffffffffffff821115611e2157600080fd5b60200191503681900382131561169a57600080fd5b6001600160a01b038616815260208101859052608060408201819052611e6e908201611e618661179b565b6001600160a01b03169052565b602084013560a08201526000611e8760408601866119b9565b6101608060c0860152611e9f6101e086018385611990565b9250611eae60608901896119b9565b9250607f19808786030160e0880152611ec8858584611990565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611f11838c018c6119b9565b9550935081888703016101a0890152611f2b868686611990565b9550611f39818c018c6119b9565b955093505080878603016101c08801525050611f56838383611990565b925050508281036060840152611f6d818587611990565b98975050505050505050565b6001600160801b03818116838216019080821115611f9957611f99611ce3565b5092915050565b60006001600160801b03808316818103611fbc57611fbc611ce3565b6001019392505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000612004606083018486611990565b9695505050505050565b60006001820161202057612020611ce3565b5060010190565b6fffffffffffffffffffffffffffffffff1981358181169160108510156116505760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561165057600c9490940360031b84901b1690921692915050565b6001600160d01b031981358181169160068510156116505760069490940360031b84901b1690921692915050565b6001600160a01b03198b1681526001600160a01b038a16602082015265ffffffffffff89811660408301528816606082015260e060808201819052600090612105908301888a611959565b82810360a0840152612118818789611990565b905082810360c084015261212d8185876119ff565b9d9c5050505050505050505050505056", + "nonce": "0x1d9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xacb6b9d3cefa73943e48b34dea77c6744a47ebef09d1b943b53e0927175c3790", + "transactionType": "CREATE2", + "contractName": "SignaturePolicy", + "contractAddress": "0xdb5F74349Dd2FB2A09eEc2C6A39e77B68ca2852C", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x7d529", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b506105c0806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae014610043578063bd89752f14610058578063c92ce351146100b6578063ecfcd930146100dd575b600080fd5b6100566100513660046102f1565b6100fd565b005b34801561006457600080fd5b506100a161007336600461034b565b6000602081815294815260408082208652938152838120855291825282822090935291825290205460ff1681565b60405190151581526020015b60405180910390f35b6100cf6100c4366004610398565b600095945050505050565b6040519081526020016100ad565b3480156100e957600080fd5b506100cf6100f8366004610426565b610237565b600061010b828401846104be565b905060005b815181101561022f5760006001600160a01b031682828151811061013657610136610583565b60200260200101516001600160a01b03160361018a573360009081526020818152604080832088845282528083206001600160a01b038a16845282528083209091529020805460ff1916600117905561021d565b3360009081526020818152604080832088845290915281208351600192908590859081106101ba576101ba610583565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061022781610599565b915050610110565b505050505050565b3360009081526020818152604080832088845282528083206001600160a01b038a81168552908352818420908b16845290915281205460ff161561027d57506000610281565b5060015b979650505050505050565b80356001600160a01b03811681146102a357600080fd5b919050565b60008083601f8401126102ba57600080fd5b50813567ffffffffffffffff8111156102d257600080fd5b6020830191508360208285010111156102ea57600080fd5b9250929050565b6000806000806060858703121561030757600080fd5b6103108561028c565b935060208501359250604085013567ffffffffffffffff81111561033357600080fd5b61033f878288016102a8565b95989497509550505050565b6000806000806080858703121561036157600080fd5b61036a8561028c565b93506020850135925061037f6040860161028c565b915061038d6060860161028c565b905092959194509250565b6000806000806000608086880312156103b057600080fd5b6103b98661028c565b945060208601359350604086013567ffffffffffffffff808211156103dd57600080fd5b90870190610160828a0312156103f257600080fd5b9093506060870135908082111561040857600080fd5b50610415888289016102a8565b969995985093965092949392505050565b600080600080600080600060c0888a03121561044157600080fd5b61044a8861028c565b96506104586020890161028c565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561048957600080fd5b6104958a828b016102a8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156104d157600080fd5b823567ffffffffffffffff808211156104e957600080fd5b818501915085601f8301126104fd57600080fd5b81358181111561050f5761050f6104a8565b8060051b604051601f19603f83011681018181108582111715610534576105346104a8565b60405291825284820192508381018501918883111561055257600080fd5b938501935b82851015610577576105688561028c565b84529385019392850192610557565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016105b957634e487b7160e01b600052601160045260246000fd5b506001019056", + "nonce": "0x1da" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0x2493846e40436f02051522cde3a043de4ccbae1b9cadd8c40995e1b7a5847f4b", + "0xacb6b9d3cefa73943e48b34dea77c6744a47ebef09d1b943b53e0927175c3790" + ], + "returns": {}, + "timestamp": 1708376910, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1708376917.json b/broadcast/DeployModularPermission.s.sol/80001/run-1708376917.json new file mode 100644 index 00000000..f2adf578 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1708376917.json @@ -0,0 +1,117 @@ +{ + "transactions": [ + { + "hash": "0x2493846e40436f02051522cde3a043de4ccbae1b9cadd8c40995e1b7a5847f4b", + "transactionType": "CREATE2", + "contractName": "ModularPermissionValidator", + "contractAddress": "0xfdDE9a26b6c3B7ca4b52C5f010d5B9Fb67e09E5A", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x2a44f3", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061213e806100206000396000f3fe6080604052600436106100dd5760003560e01c80638fc925aa1161007f578063b66bd1d211610059578063b66bd1d214610312578063d4085e811461033f578063e89005c71461037d578063ee87c2951461039057600080fd5b80638fc925aa146102bc5780639ea9bd59146102cf578063b52e2c7a146102f257600080fd5b80633ec50c6c116100bb5780633ec50c6c1461013d578063511079bc1461021157806365b8de2e146102245780637ecebe001461025b57600080fd5b80630c959556146100e2578063333daf92146100f75780633a871cdd1461012a575b600080fd5b6100f56100f03660046116a1565b6103a3565b005b34801561010357600080fd5b506101176101123660046116e3565b6103f6565b6040519081526020015b60405180910390f35b61011761013836600461172f565b61089a565b34801561014957600080fd5b506101bb6101583660046117ab565b6001602081815260009384526040808520909152918352912080549181015460028201546003909201546001600160801b03841693600160801b900460a01b926001600160a01b03909216919065ffffffffffff80821691600160301b90041686565b604080516001600160801b0390971687526001600160a01b031990951660208701526001600160a01b0390931693850193909352606084015265ffffffffffff91821660808401521660a082015260c001610121565b6100f561021f366004611865565b610d63565b34801561023057600080fd5b5061024461023f3660046116a1565b61131c565b6040516101219b9a99989796959493929190611a5c565b34801561026757600080fd5b5061029c610276366004611af3565b6003602052600090815260409020546001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610121565b6100f56102ca3660046116a1565b611417565b6102e26102dd366004611b10565b611446565b6040519015158152602001610121565b3480156102fe57600080fd5b5061011761030d366004611b4c565b611483565b34801561031e57600080fd5b5061011761032d366004611af3565b60006020819052908152604090205481565b34801561034b57600080fd5b5061011761035a366004611c2d565b600260209081526000938452604080852082529284528284209052825290205481565b6100f561038b366004611c66565b6114ce565b6100f561039e366004611c7f565b61153a565b60008060008060003660003660003660006103be8d8d61131c565b9a509a509a509a509a509a509a509a509a509a509a506103e78b8b8b8b8b8b8b8b8b8b8b610d63565b50505050505050505050505050565b6040805160a081018252600080825260208201819052918101829052606081018290526080810182905261042e602060008587611c9a565b61043791611cc4565b602080830182905260009182526001815260408083203384528252808320546003909252909120546001600160801b03918216600160801b90910490911611806104aa575060208181015160009081526001825260408082203383529092522054600160801b900460a01b600160a11b16155b156104b9576001915050610893565b6020818101516000908152600180835260408083203384528452808320815160c08101835281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682880152938201546001600160a01b0316928101929092526002810154606080840191825260039092015465ffffffffffff808216608080870191909152600160301b9092041694840194909452908601849052519185019190915291860190601f1986019036610574601482611cf9565b61057f928290611c9a565b61058891611d0c565b60601c845260003661059b603482611cf9565b906105a7601436611cf9565b926105b493929190611c9a565b6105bd91611cc4565b60408501525b60808401516001600160a01b0316156107ec57608084015160a11c60011615610618576020808501516000908152600282526040808220608088018051845290845281832033845290935290205490526105c3565b36600061062f86608001516001600160a01b031690565b60608701516001600160a01b03919091169085908561064f826014611d3f565b9261065c93929190611c9a565b61066591611d0c565b60601c036106f85760008484886060015160146106829190611d3f565b90896060015160346106949190611d3f565b926106a193929190611c9a565b6106aa91611cc4565b60001c90508484886060015160346106c29190611d3f565b6106cd928290611c9a565b90935091506106dd816034611d3f565b876060018181516106ee9190611d3f565b90525061070e9050565b606086015161070990808587611c9a565b915091505b600061072487608001516001600160a01b031690565b6001600160a01b031663ecfcd9303389600001518a602001518f8c6040015189896040518863ffffffff1660e01b81526004016107679796959493929190611d52565b602060405180830381865afa158015610784573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a89190611d9d565b90506107b4888261159a565b602080890151600090815260028252604080822060808c0180518452908452818320338452909352902054905297506105c392505050565b600083604001516001600160a01b0316637a7c6a4f3387602001518c87878b6060015190809261081e93929190611c9a565b6040518663ffffffff1660e01b815260040161083e959493929190611db6565b602060405180830381865afa15801561085b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061087f9190611d9d565b905061088b868261159a565b955050505050505b9392505050565b6000336108aa6020860186611af3565b6001600160a01b0316146109055760405162461bcd60e51b815260206004820152601960248201527f73656e646572206d757374206265206d73672e73656e6465720000000000000060448201526064015b60405180910390fd5b6000610915610140860186611def565b61092491602091600091611c9a565b61092d91611cc4565b6000818152600160209081526040808320338452909152902054909150600160801b900460a01b600160a01b16158061099c575060008181526001602090815260408083203384528252808320546003909252909120546001600160801b03918216600160801b909104909116115b156109ab576001915050610893565b6000818152600160208181526040808420338552825292839020835160c08101855281546001600160801b0381168252600160801b900460a090811b6001600160a01b03191682850152938201546001600160a01b03169481019490945260028101546060850181905260039091015465ffffffffffff8082166080870152600160301b90910416928401929092525b6001600160a01b03821615610cf05760a082901c60011615610a815760008481526002602090815260408083209483529381528382203383529052919091205490610a3b565b366000610a8f836034611d3f565b610a9d6101408c018c611def565b905010158015610ae857506001600160a01b038416610ac06101408c018c611def565b8590610acd826014611d3f565b92610ada93929190611c9a565b610ae391611d0c565b60601c145b15610c12576000610afd6101408c018c611def565b610b08866014611d3f565b90610b14876034611d3f565b92610b2193929190611c9a565b610b2a91611cc4565b905080610b38856034611d3f565b610b429190611d3f565b610b506101408d018d611def565b90501015610bb35760405162461bcd60e51b815260206004820152602a60248201527f706f6c69637944617461206c656e6774682065786365656473207369676e61746044820152690eae4ca40d8cadccee8d60b31b60648201526084016108fc565b610bc16101408c018c611def565b610bcc866034611d3f565b9083610bd9886034611d3f565b610be39190611d3f565b92610bf093929190611c9a565b9093509150610c00816034611d3f565b610c0a9085611d3f565b935050610c32565b610c206101408b018b611def565b610c2d9185918291611c9a565b915091505b60006001600160a01b0385166001600160a01b031663c92ce35133898e87876040518663ffffffff1660e01b8152600401610c71959493929190611e36565b6020604051808303816000875af1158015610c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb49190611d9d565b9050610cc0888261159a565b600088815260026020908152604080832098835297815287822033835290529590952054949750610a3b92505050565b60408301516000906001600160a01b0316638e0125d233878b610d176101408f018f611def565b610d249189908290611c9a565b6040518663ffffffff1660e01b8152600401610d44959493929190611db6565b6020604051808303816000875af115801561085b573d6000803e3d6000fd5b6001600160a01b03198a16610dba5760405162461bcd60e51b815260206004820152601860248201527f666c61672073686f756c64206e6f7420626520656d707479000000000000000060448201526064016108fc565b336000908152600360205260409020546001600160801b038c811691161480610e17575033600090815260036020526040902054610e02906001600160801b03166001611f79565b6001600160801b03168b6001600160801b0316145b610e5a5760405162461bcd60e51b81526020600482015260146024820152731b9bdb98d9481cda1bdd5b19081899481b995e1d60621b60448201526064016108fc565b33600090815260036020526040812080546001600160801b031691610e7e83611fa0565b91906101000a8154816001600160801b0302191690836001600160801b03160217905550506000610eb78b8b8b8b8b8b8b8b8b8b611483565b9050600160a01b6001600160a01b03198c1601610ee1573360009081526020819052604090208190555b8a60005b87811015610fd557610f15898983818110610f0257610f02611fc6565b905060200201356001600160a01b031690565b6001600160a01b031662282ae03385888886818110610f3657610f36611fc6565b9050602002810190610f489190611def565b6040518563ffffffff1660e01b8152600401610f679493929190611fdc565b600060405180830381600087803b158015610f8157600080fd5b505af1158015610f95573d6000803e3d6000fd5b505050506000610fbd8a8a84818110610fb057610fb0611fc6565b9050602002013560a01c90565b92909216915080610fcd8161200e565b915050610ee5565b5060405163e9b51de560e01b81526001600160a01b038c169063e9b51de59061100890339086908b908b90600401611fdc565b600060405180830381600087803b15801561102257600080fd5b505af1158015611036573d6000803e3d6000fd5b5050505060008888600081811061104f5761104f611fc6565b60200291909101359150506001600160a01b03198216156110c65760405162461bcd60e51b815260206004820152602b60248201527f6572726f72203a207065726d697373696f6e20666c616720657863656564732060448201526a706f6c69637920666c616760a81b60648201526084016108fc565b6040518060c001604052808f6001600160801b031681526020018e6001600160a01b03191681526020018d6001600160a01b031681526020018281526020018c65ffffffffffff1681526020018b65ffffffffffff16815250600160008581526020019081526020016000206000336001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160801b0302191690836001600160801b0316021790555060208201518160000160106101000a8154816bffffffffffffffffffffffff021916908360a01c021790555060408201518160010160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506060820151816002015560808201518160030160006101000a81548165ffffffffffff021916908365ffffffffffff16021790555060a08201518160030160066101000a81548165ffffffffffff021916908365ffffffffffff1602179055509050506000600190505b888110156112d25789898281811061125f5761125f611fc6565b905060200201356002600086815260200190815260200160002060008c8c60018661128a9190611cf9565b81811061129957611299611fc6565b602090810292909201358352508181019290925260409081016000908120338252909252902055806112ca8161200e565b915050611245565b5060408051338152602081018590527fab0f2b94c33903f7ed343b1bcc3baca5e69eb7d007b8c8207232012f6cffef0e910160405180910390a15050505050505050505050505050565b60008060008060003660003660003660008c8c60009060109261134193929190611c9a565b61134a91612027565b60801c9a508c8c601090601c9261136393929190611c9a565b61136c9161205e565b99508c8c601c9060229261138293929190611c9a565b61138b9161208c565b60d01c97508c8c6022906028926113a493929190611c9a565b6113ad9161208c565b60d01c96508c8c602890603c926113c693929190611c9a565b6113cf91611d0c565b9a9d999c60609b909b1c9b5096999598605c603c8089013589018281019b50810135995081890135890180830199908201359850607c81013501918201965001359350915050565b60208190036114315761142d61038b8284611cc4565b5050565b61142d61143e8284612027565b60801c61153a565b60405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064016108fc565b60008a8a8a8a8a8a8a8a8a8a6040516020016114a89a999897969594939291906120ba565b6040516020818303038152906040528051906020012090509a9950505050505050505050565b6000818152600160209081526040808320338085529083529281902080546bffffffffffffffffffffffff60801b1916905580519283529082018390527f789770131846de4d1f28418f0f957cdf4fcabe5eccf70067083e20ecece69a3491015b60405180910390a150565b3360008181526003602090815260409182902080546001600160801b03908116600160801b918716918202179091558251938452908301527f22cd1acb7e7a306800a1b2c0ca9b0280187bbc00b7fbf55d38ad6cbf73082aec910161152f565b600081830160601b8260601b81148460601b8214176001600160a01b03848618161517600181146115ce5760019250611650565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b861690816116135765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611631575065ffffffffffff60a01b5b80821890821102188061164a575065ffffffffffff60a01b5b92909217915b505092915050565b60008083601f84011261166a57600080fd5b50813567ffffffffffffffff81111561168257600080fd5b60208301915083602082850101111561169a57600080fd5b9250929050565b600080602083850312156116b457600080fd5b823567ffffffffffffffff8111156116cb57600080fd5b6116d785828601611658565b90969095509350505050565b6000806000604084860312156116f857600080fd5b83359250602084013567ffffffffffffffff81111561171657600080fd5b61172286828701611658565b9497909650939450505050565b60008060006060848603121561174457600080fd5b833567ffffffffffffffff81111561175b57600080fd5b8401610160818703121561176e57600080fd5b95602085013595506040909401359392505050565b6001600160a01b038116811461179857600080fd5b50565b80356117a681611783565b919050565b600080604083850312156117be57600080fd5b8235915060208301356117d081611783565b809150509250929050565b80356001600160801b03811681146117a657600080fd5b80356001600160a01b0319811681146117a657600080fd5b803565ffffffffffff811681146117a657600080fd5b60008083601f84011261183257600080fd5b50813567ffffffffffffffff81111561184a57600080fd5b6020830191508360208260051b850101111561169a57600080fd5b60008060008060008060008060008060006101008c8e03121561188757600080fd5b6118908c6117db565b9a5061189e60208d016117f2565b99506118ac60408d0161179b565b98506118ba60608d0161180a565b97506118c860808d0161180a565b965067ffffffffffffffff8060a08e013511156118e457600080fd5b6118f48e60a08f01358f01611820565b909750955060c08d013581101561190a57600080fd5b61191a8e60c08f01358f01611658565b909550935060e08d013581101561193057600080fd5b506119418d60e08e01358e01611820565b81935080925050509295989b509295989b9093969950565b8183526000602080850194508260005b8581101561198557813587529582019590820190600101611969565b509495945050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000808335601e198436030181126119d057600080fd5b830160208101925035905067ffffffffffffffff8111156119f057600080fd5b80360382131561169a57600080fd5b81835260006020808501808196508560051b810191508460005b87811015611a4f578284038952611a3082886119b9565b611a3b868284611990565b9a87019a9550505090840190600101611a19565b5091979650505050505050565b6001600160801b038c1681526001600160a01b03198b1660208201526001600160a01b038a16604082015265ffffffffffff89811660608301528816608082015261010060a08201819052600090611ab7838201898b611959565b905082810360c0840152611acc818789611990565b905082810360e0840152611ae18185876119ff565b9e9d5050505050505050505050505050565b600060208284031215611b0557600080fd5b813561089381611783565b600080600060408486031215611b2557600080fd5b8335611b3081611783565b9250602084013567ffffffffffffffff81111561171657600080fd5b60008060008060008060008060008060e08b8d031215611b6b57600080fd5b611b748b6117f2565b995060208b0135611b8481611783565b9850611b9260408c0161180a565b9750611ba060608c0161180a565b965060808b013567ffffffffffffffff80821115611bbd57600080fd5b611bc98e838f01611820565b909850965060a08d0135915080821115611be257600080fd5b611bee8e838f01611658565b909650945060c08d0135915080821115611c0757600080fd5b50611c148d828e01611820565b915080935050809150509295989b9194979a5092959850565b600080600060608486031215611c4257600080fd5b83359250602084013591506040840135611c5b81611783565b809150509250925092565b600060208284031215611c7857600080fd5b5035919050565b600060208284031215611c9157600080fd5b610893826117db565b60008085851115611caa57600080fd5b83861115611cb757600080fd5b5050820193919092039150565b80356020831015611cdd57600019602084900360031b1b165b92915050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611cdd57611cdd611ce3565b6bffffffffffffffffffffffff1981358181169160148510156116505760149490940360031b84901b1690921692915050565b80820180821115611cdd57611cdd611ce3565b600060018060a01b03808a16835280891660208401525086604083015285606083015284608083015260c060a0830152611d9060c083018486611990565b9998505050505050505050565b600060208284031215611daf57600080fd5b5051919050565b60018060a01b0386168152846020820152836040820152608060608201526000611de4608083018486611990565b979650505050505050565b6000808335601e19843603018112611e0657600080fd5b83018035915067ffffffffffffffff821115611e2157600080fd5b60200191503681900382131561169a57600080fd5b6001600160a01b038616815260208101859052608060408201819052611e6e908201611e618661179b565b6001600160a01b03169052565b602084013560a08201526000611e8760408601866119b9565b6101608060c0860152611e9f6101e086018385611990565b9250611eae60608901896119b9565b9250607f19808786030160e0880152611ec8858584611990565b9450610100935060808a013584880152610120915060a08a01358288015261014060c08b01358189015260e08b013584890152848b0135610180890152611f11838c018c6119b9565b9550935081888703016101a0890152611f2b868686611990565b9550611f39818c018c6119b9565b955093505080878603016101c08801525050611f56838383611990565b925050508281036060840152611f6d818587611990565b98975050505050505050565b6001600160801b03818116838216019080821115611f9957611f99611ce3565b5092915050565b60006001600160801b03808316818103611fbc57611fbc611ce3565b6001019392505050565b634e487b7160e01b600052603260045260246000fd5b60018060a01b0385168152836020820152606060408201526000612004606083018486611990565b9695505050505050565b60006001820161202057612020611ce3565b5060010190565b6fffffffffffffffffffffffffffffffff1981358181169160108510156116505760109490940360031b84901b1690921692915050565b6001600160a01b0319813581811691600c85101561165057600c9490940360031b84901b1690921692915050565b6001600160d01b031981358181169160068510156116505760069490940360031b84901b1690921692915050565b6001600160a01b03198b1681526001600160a01b038a16602082015265ffffffffffff89811660408301528816606082015260e060808201819052600090612105908301888a611959565b82810360a0840152612118818789611990565b905082810360c084015261212d8185876119ff565b9d9c5050505050505050505050505056", + "nonce": "0x1d9" + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xacb6b9d3cefa73943e48b34dea77c6744a47ebef09d1b943b53e0927175c3790", + "transactionType": "CREATE2", + "contractName": "SignaturePolicy", + "contractAddress": "0xdb5F74349Dd2FB2A09eEc2C6A39e77B68ca2852C", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x7d529", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b506105c0806100206000396000f3fe60806040526004361061003e5760003560e01c8062282ae014610043578063bd89752f14610058578063c92ce351146100b6578063ecfcd930146100dd575b600080fd5b6100566100513660046102f1565b6100fd565b005b34801561006457600080fd5b506100a161007336600461034b565b6000602081815294815260408082208652938152838120855291825282822090935291825290205460ff1681565b60405190151581526020015b60405180910390f35b6100cf6100c4366004610398565b600095945050505050565b6040519081526020016100ad565b3480156100e957600080fd5b506100cf6100f8366004610426565b610237565b600061010b828401846104be565b905060005b815181101561022f5760006001600160a01b031682828151811061013657610136610583565b60200260200101516001600160a01b03160361018a573360009081526020818152604080832088845282528083206001600160a01b038a16845282528083209091529020805460ff1916600117905561021d565b3360009081526020818152604080832088845290915281208351600192908590859081106101ba576101ba610583565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000206000886001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055505b8061022781610599565b915050610110565b505050505050565b3360009081526020818152604080832088845282528083206001600160a01b038a81168552908352818420908b16845290915281205460ff161561027d57506000610281565b5060015b979650505050505050565b80356001600160a01b03811681146102a357600080fd5b919050565b60008083601f8401126102ba57600080fd5b50813567ffffffffffffffff8111156102d257600080fd5b6020830191508360208285010111156102ea57600080fd5b9250929050565b6000806000806060858703121561030757600080fd5b6103108561028c565b935060208501359250604085013567ffffffffffffffff81111561033357600080fd5b61033f878288016102a8565b95989497509550505050565b6000806000806080858703121561036157600080fd5b61036a8561028c565b93506020850135925061037f6040860161028c565b915061038d6060860161028c565b905092959194509250565b6000806000806000608086880312156103b057600080fd5b6103b98661028c565b945060208601359350604086013567ffffffffffffffff808211156103dd57600080fd5b90870190610160828a0312156103f257600080fd5b9093506060870135908082111561040857600080fd5b50610415888289016102a8565b969995985093965092949392505050565b600080600080600080600060c0888a03121561044157600080fd5b61044a8861028c565b96506104586020890161028c565b955060408801359450606088013593506080880135925060a088013567ffffffffffffffff81111561048957600080fd5b6104958a828b016102a8565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156104d157600080fd5b823567ffffffffffffffff808211156104e957600080fd5b818501915085601f8301126104fd57600080fd5b81358181111561050f5761050f6104a8565b8060051b604051601f19603f83011681018181108582111715610534576105346104a8565b60405291825284820192508381018501918883111561055257600080fd5b938501935b82851015610577576105688561028c565b84529385019392850192610557565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016105b957634e487b7160e01b600052601160045260246000fd5b506001019056", + "nonce": "0x1da" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0x2493846e40436f02051522cde3a043de4ccbae1b9cadd8c40995e1b7a5847f4b", + "transactionIndex": "0x1", + "blockHash": "0xfd0f9244799d12c47e27e4d722a9baa399eff8f3172ff96cdaabb373ac3d84a1", + "blockNumber": "0x2bf9b5b", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x1e6361", + "gasUsed": "0x1ce907", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000cfef2a3dc244ef7d0fb93c45e762d671445c4569" + ], + "data": "0x0000000000000000000000000000000000000000000000000025315a3e903c3d00000000000000000000000000000000000000000000000002b39a3b72883523000000000000000000000000000000000000000000000186d106828989afc7bd000000000000000000000000000000000000000000000000028e68e133f7f8e6000000000000000000000000000000000000000000000186d12bb3e3c84003fa", + "blockHash": "0xfd0f9244799d12c47e27e4d722a9baa399eff8f3172ff96cdaabb373ac3d84a1", + "blockNumber": "0x2bf9b5b", + "transactionHash": "0x2493846e40436f02051522cde3a043de4ccbae1b9cadd8c40995e1b7a5847f4b", + "transactionIndex": "0x1", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000020100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000040000100000", + "type": "0x0", + "effectiveGasPrice": "0x1495773aa" + }, + { + "transactionHash": "0xacb6b9d3cefa73943e48b34dea77c6744a47ebef09d1b943b53e0927175c3790", + "transactionIndex": "0x2", + "blockHash": "0xfd0f9244799d12c47e27e4d722a9baa399eff8f3172ff96cdaabb373ac3d84a1", + "blockNumber": "0x2bf9b5b", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x240f73", + "gasUsed": "0x5ac12", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x000000000000000000000000cfef2a3dc244ef7d0fb93c45e762d671445c4569" + ], + "data": "0x00000000000000000000000000000000000000000000000000074c132bd944e6000000000000000000000000000000000000000000000000028e68e13246517d000000000000000000000000000000000000000000000186d12bb3e3c84003fa00000000000000000000000000000000000000000000000002871cce066d0c97000000000000000000000000000000000000000000000186d132fff6f41948e0", + "blockHash": "0xfd0f9244799d12c47e27e4d722a9baa399eff8f3172ff96cdaabb373ac3d84a1", + "blockNumber": "0x2bf9b5b", + "transactionHash": "0xacb6b9d3cefa73943e48b34dea77c6744a47ebef09d1b943b53e0927175c3790", + "transactionIndex": "0x2", + "logIndex": "0x4", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000020100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000040000100000", + "type": "0x0", + "effectiveGasPrice": "0x1495773aa" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1708376917, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1708453269.json b/broadcast/DeployModularPermission.s.sol/80001/run-1708453269.json new file mode 100644 index 00000000..e35e1066 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1708453269.json @@ -0,0 +1,33 @@ +{ + "transactions": [ + { + "hash": "0xb43feb372e43cfdeb632df85d5996b631baf9bd6a07747beafbdb79b6e14ba18", + "transactionType": "CREATE2", + "contractName": "ECDSASigner", + "contractAddress": "0x5569b550050F6537D9ac3329001be7F4C6659Cb0", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x9a6bf", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061074e806100206000396000f3fe60806040526004361061003f5760003560e01c806367249d69146100445780637a7c6a4f146100a75780638e0125d2146100d5578063e9b51de5146100e8575b600080fd5b34801561005057600080fd5b5061008a61005f366004610566565b600060208181529381526040808220855292815282812090935282529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100b357600080fd5b506100c76100c23660046105eb565b6100fd565b60405190815260200161009e565b6100c76100e33660046105eb565b610261565b6100fb6100f6366004610653565b610345565b005b3360009081526020818152604080832087845282528083206001600160a01b0389811685529252822054168061014e5760405162461bcd60e51b8152600401610145906106ad565b60405180910390fd5b806001600160a01b031661019a85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9392505061048e9050565b6001600160a01b0316036101b2576000915050610258565b60006101e3866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9050600061022986868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061048e9050565b9050826001600160a01b0316816001600160a01b0316036102505760009350505050610258565b600193505050505b95945050505050565b3360009081526020818152604080832087845282528083206001600160a01b0389811685529252822054166102a85760405162461bcd60e51b8152600401610145906106ad565b60006102f584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506102ef925089915061051f9050565b9061048e565b336000908152602081815260408083208a845282528083206001600160a01b038c8116855292529091205491925090811690821603610338576000915050610258565b5060019695505050505050565b3360009081526020818152604080832086845282528083206001600160a01b03888116855292529091205416156103cd5760405162461bcd60e51b815260206004820152602660248201527f45434453415369676e65723a206b65726e656c20616c726561647920726567696044820152651cdd195c995960d21b6064820152608401610145565b601481146104295760405162461bcd60e51b815260206004820152602360248201527f45434453415369676e65723a20696e76616c6964207369676e6572206164647260448201526265737360e81b6064820152608401610145565b600061043860148284866106ef565b61044191610719565b336000908152602081815260408083209783529681528682206001600160a01b03989098168252969096529390942080546001600160a01b03191660609490941c93909317909255505050565b60405160019083600052602083015160405260408351036104ca57604083015160ff81901c601b016020526001600160ff1b03166060526104f0565b60418351036104eb57606083015160001a60205260408301516060526104f0565b600091505b6020600160806000855afa5191503d61051157638baa579f6000526004601cfd5b600060605260405292915050565b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b80356001600160a01b038116811461056157600080fd5b919050565b60008060006060848603121561057b57600080fd5b6105848461054a565b9250602084013591506105996040850161054a565b90509250925092565b60008083601f8401126105b457600080fd5b50813567ffffffffffffffff8111156105cc57600080fd5b6020830191508360208285010111156105e457600080fd5b9250929050565b60008060008060006080868803121561060357600080fd5b61060c8661054a565b94506020860135935060408601359250606086013567ffffffffffffffff81111561063657600080fd5b610642888289016105a2565b969995985093965092949392505050565b6000806000806060858703121561066957600080fd5b6106728561054a565b935060208501359250604085013567ffffffffffffffff81111561069557600080fd5b6106a1878288016105a2565b95989497509550505050565b60208082526022908201527f45434453415369676e65723a206b65726e656c206e6f74207265676973746572604082015261195960f21b606082015260800190565b600080858511156106ff57600080fd5b8386111561070c57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156107465780818660140360031b1b83161692505b50509291505056", + "nonce": "0x1dc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xb43feb372e43cfdeb632df85d5996b631baf9bd6a07747beafbdb79b6e14ba18" + ], + "returns": {}, + "timestamp": 1708453269, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-1708453276.json b/broadcast/DeployModularPermission.s.sol/80001/run-1708453276.json new file mode 100644 index 00000000..bba56a29 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-1708453276.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xb43feb372e43cfdeb632df85d5996b631baf9bd6a07747beafbdb79b6e14ba18", + "transactionType": "CREATE2", + "contractName": "ECDSASigner", + "contractAddress": "0x5569b550050F6537D9ac3329001be7F4C6659Cb0", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x9a6bf", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061074e806100206000396000f3fe60806040526004361061003f5760003560e01c806367249d69146100445780637a7c6a4f146100a75780638e0125d2146100d5578063e9b51de5146100e8575b600080fd5b34801561005057600080fd5b5061008a61005f366004610566565b600060208181529381526040808220855292815282812090935282529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100b357600080fd5b506100c76100c23660046105eb565b6100fd565b60405190815260200161009e565b6100c76100e33660046105eb565b610261565b6100fb6100f6366004610653565b610345565b005b3360009081526020818152604080832087845282528083206001600160a01b0389811685529252822054168061014e5760405162461bcd60e51b8152600401610145906106ad565b60405180910390fd5b806001600160a01b031661019a85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9392505061048e9050565b6001600160a01b0316036101b2576000915050610258565b60006101e3866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9050600061022986868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061048e9050565b9050826001600160a01b0316816001600160a01b0316036102505760009350505050610258565b600193505050505b95945050505050565b3360009081526020818152604080832087845282528083206001600160a01b0389811685529252822054166102a85760405162461bcd60e51b8152600401610145906106ad565b60006102f584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506102ef925089915061051f9050565b9061048e565b336000908152602081815260408083208a845282528083206001600160a01b038c8116855292529091205491925090811690821603610338576000915050610258565b5060019695505050505050565b3360009081526020818152604080832086845282528083206001600160a01b03888116855292529091205416156103cd5760405162461bcd60e51b815260206004820152602660248201527f45434453415369676e65723a206b65726e656c20616c726561647920726567696044820152651cdd195c995960d21b6064820152608401610145565b601481146104295760405162461bcd60e51b815260206004820152602360248201527f45434453415369676e65723a20696e76616c6964207369676e6572206164647260448201526265737360e81b6064820152608401610145565b600061043860148284866106ef565b61044191610719565b336000908152602081815260408083209783529681528682206001600160a01b03989098168252969096529390942080546001600160a01b03191660609490941c93909317909255505050565b60405160019083600052602083015160405260408351036104ca57604083015160ff81901c601b016020526001600160ff1b03166060526104f0565b60418351036104eb57606083015160001a60205260408301516060526104f0565b600091505b6020600160806000855afa5191503d61051157638baa579f6000526004601cfd5b600060605260405292915050565b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b80356001600160a01b038116811461056157600080fd5b919050565b60008060006060848603121561057b57600080fd5b6105848461054a565b9250602084013591506105996040850161054a565b90509250925092565b60008083601f8401126105b457600080fd5b50813567ffffffffffffffff8111156105cc57600080fd5b6020830191508360208285010111156105e457600080fd5b9250929050565b60008060008060006080868803121561060357600080fd5b61060c8661054a565b94506020860135935060408601359250606086013567ffffffffffffffff81111561063657600080fd5b610642888289016105a2565b969995985093965092949392505050565b6000806000806060858703121561066957600080fd5b6106728561054a565b935060208501359250604085013567ffffffffffffffff81111561069557600080fd5b6106a1878288016105a2565b95989497509550505050565b60208082526022908201527f45434453415369676e65723a206b65726e656c206e6f74207265676973746572604082015261195960f21b606082015260800190565b600080858511156106ff57600080fd5b8386111561070c57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156107465780818660140360031b1b83161692505b50509291505056", + "nonce": "0x1dc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xb43feb372e43cfdeb632df85d5996b631baf9bd6a07747beafbdb79b6e14ba18", + "transactionIndex": "0x1", + "blockHash": "0xfabf9a00e6b3fd459d70aaccea2ec5114c2f5137ae56e47163240afba173bb69", + "blockNumber": "0x2c024a3", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x836a4", + "gasUsed": "0x6fd3f", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x000000000000000000000000000000000000000000000000002847570687177a000000000000000000000000000000000000000000000000025ed6b677c3badd000000000000000000000000000000000000000000000676b39435257e8230fb00000000000000000000000000000000000000000000000002368f5f713ca363000000000000000000000000000000000000000000000676b3bc7c7c85094875", + "blockHash": "0xfabf9a00e6b3fd459d70aaccea2ec5114c2f5137ae56e47163240afba173bb69", + "blockNumber": "0x2c024a3", + "transactionHash": "0xb43feb372e43cfdeb632df85d5996b631baf9bd6a07747beafbdb79b6e14ba18", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x5c350d816" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1708453276, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/broadcast/DeployModularPermission.s.sol/80001/run-latest.json b/broadcast/DeployModularPermission.s.sol/80001/run-latest.json new file mode 100644 index 00000000..bba56a29 --- /dev/null +++ b/broadcast/DeployModularPermission.s.sol/80001/run-latest.json @@ -0,0 +1,65 @@ +{ + "transactions": [ + { + "hash": "0xb43feb372e43cfdeb632df85d5996b631baf9bd6a07747beafbdb79b6e14ba18", + "transactionType": "CREATE2", + "contractName": "ECDSASigner", + "contractAddress": "0x5569b550050F6537D9ac3329001be7F4C6659Cb0", + "function": null, + "arguments": null, + "transaction": { + "type": "0x00", + "from": "0xa02cddfa44b8c01b4257f54ac1c43f75801e8175", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x9a6bf", + "value": "0x0", + "data": "0x0000000000000000000000000000000000000000000000000000000000000000608060405234801561001057600080fd5b5061074e806100206000396000f3fe60806040526004361061003f5760003560e01c806367249d69146100445780637a7c6a4f146100a75780638e0125d2146100d5578063e9b51de5146100e8575b600080fd5b34801561005057600080fd5b5061008a61005f366004610566565b600060208181529381526040808220855292815282812090935282529020546001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156100b357600080fd5b506100c76100c23660046105eb565b6100fd565b60405190815260200161009e565b6100c76100e33660046105eb565b610261565b6100fb6100f6366004610653565b610345565b005b3360009081526020818152604080832087845282528083206001600160a01b0389811685529252822054168061014e5760405162461bcd60e51b8152600401610145906106ad565b60405180910390fd5b806001600160a01b031661019a85858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508a9392505061048e9050565b6001600160a01b0316036101b2576000915050610258565b60006101e3866020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9050600061022986868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250869392505061048e9050565b9050826001600160a01b0316816001600160a01b0316036102505760009350505050610258565b600193505050505b95945050505050565b3360009081526020818152604080832087845282528083206001600160a01b0389811685529252822054166102a85760405162461bcd60e51b8152600401610145906106ad565b60006102f584848080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506102ef925089915061051f9050565b9061048e565b336000908152602081815260408083208a845282528083206001600160a01b038c8116855292529091205491925090811690821603610338576000915050610258565b5060019695505050505050565b3360009081526020818152604080832086845282528083206001600160a01b03888116855292529091205416156103cd5760405162461bcd60e51b815260206004820152602660248201527f45434453415369676e65723a206b65726e656c20616c726561647920726567696044820152651cdd195c995960d21b6064820152608401610145565b601481146104295760405162461bcd60e51b815260206004820152602360248201527f45434453415369676e65723a20696e76616c6964207369676e6572206164647260448201526265737360e81b6064820152608401610145565b600061043860148284866106ef565b61044191610719565b336000908152602081815260408083209783529681528682206001600160a01b03989098168252969096529390942080546001600160a01b03191660609490941c93909317909255505050565b60405160019083600052602083015160405260408351036104ca57604083015160ff81901c601b016020526001600160ff1b03166060526104f0565b60418351036104eb57606083015160001a60205260408301516060526104f0565b600091505b6020600160806000855afa5191503d61051157638baa579f6000526004601cfd5b600060605260405292915050565b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b80356001600160a01b038116811461056157600080fd5b919050565b60008060006060848603121561057b57600080fd5b6105848461054a565b9250602084013591506105996040850161054a565b90509250925092565b60008083601f8401126105b457600080fd5b50813567ffffffffffffffff8111156105cc57600080fd5b6020830191508360208285010111156105e457600080fd5b9250929050565b60008060008060006080868803121561060357600080fd5b61060c8661054a565b94506020860135935060408601359250606086013567ffffffffffffffff81111561063657600080fd5b610642888289016105a2565b969995985093965092949392505050565b6000806000806060858703121561066957600080fd5b6106728561054a565b935060208501359250604085013567ffffffffffffffff81111561069557600080fd5b6106a1878288016105a2565b95989497509550505050565b60208082526022908201527f45434453415369676e65723a206b65726e656c206e6f74207265676973746572604082015261195960f21b606082015260800190565b600080858511156106ff57600080fd5b8386111561070c57600080fd5b5050820193919092039150565b6bffffffffffffffffffffffff1981358181169160148510156107465780818660140360031b1b83161692505b50509291505056", + "nonce": "0x1dc" + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xb43feb372e43cfdeb632df85d5996b631baf9bd6a07747beafbdb79b6e14ba18", + "transactionIndex": "0x1", + "blockHash": "0xfabf9a00e6b3fd459d70aaccea2ec5114c2f5137ae56e47163240afba173bb69", + "blockNumber": "0x2c024a3", + "from": "0xA02CDdFa44B8C01b4257F54ac1c43F75801E8175", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x836a4", + "gasUsed": "0x6fd3f", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x000000000000000000000000a02cddfa44b8c01b4257f54ac1c43f75801e8175", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x000000000000000000000000000000000000000000000000002847570687177a000000000000000000000000000000000000000000000000025ed6b677c3badd000000000000000000000000000000000000000000000676b39435257e8230fb00000000000000000000000000000000000000000000000002368f5f713ca363000000000000000000000000000000000000000000000676b3bc7c7c85094875", + "blockHash": "0xfabf9a00e6b3fd459d70aaccea2ec5114c2f5137ae56e47163240afba173bb69", + "blockNumber": "0x2c024a3", + "transactionHash": "0xb43feb372e43cfdeb632df85d5996b631baf9bd6a07747beafbdb79b6e14ba18", + "transactionIndex": "0x1", + "logIndex": "0x1", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000000000000000000000000000000000000000000020000000080000040000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000004000000000000000000001000008000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x0", + "effectiveGasPrice": "0x5c350d816" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1708453276, + "chain": 80001, + "multi": false, + "commit": "525f3f4" +} \ No newline at end of file diff --git a/foundry.toml b/foundry.toml index 9757adcd..1ea2a0fe 100644 --- a/foundry.toml +++ b/foundry.toml @@ -10,7 +10,7 @@ optimize = true via-ir = false runs = 1000000 -[profile.deploy] +[profile.optimized] via-ir = true [fuzz] diff --git a/gas/gas_report.sh b/gas/gas_report.sh index 81f88e9f..e6c4d854 100755 --- a/gas/gas_report.sh +++ b/gas/gas_report.sh @@ -1,3 +1,3 @@ forge build -forge test --gas-report --match-path test/foundry/KernelECDSA.t.sol > gas/ecdsa/report.txt -forge test --gas-report --match-path test/foundry/KernelLiteECDSA.t.sol > gas/ecdsa/report-lite.txt +FOUNDRY_PROFILE=optimized forge test --gas-report --match-path test/foundry/KernelECDSA.t.sol > gas/ecdsa/report.txt +FOUNDRY_PROFILE=optimized forge test --gas-report --match-path test/foundry/KernelLiteECDSA.t.sol > gas/ecdsa/report-lite.txt diff --git a/index.ts b/index.ts deleted file mode 100644 index c9f6f047..00000000 --- a/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './types' diff --git a/lib/p256-verifier b/lib/p256-verifier new file mode 160000 index 00000000..29475ae3 --- /dev/null +++ b/lib/p256-verifier @@ -0,0 +1 @@ +Subproject commit 29475ae300ec95d98d5c7cc34c094846f0aa2dcd diff --git a/remappings.txt b/remappings.txt index 55b13aad..db0b91c6 100644 --- a/remappings.txt +++ b/remappings.txt @@ -1,4 +1,5 @@ ds-test/=lib/forge-std/lib/ds-test/src/ forge-std/=lib/forge-std/src/ solady/=lib/solady/src/ +I4337/=lib/I4337/src/ FreshCryptoLib/=lib/FreshCryptoLib/solidity/src/ \ No newline at end of file diff --git a/script/DeployModularPermission.s.sol b/script/DeployModularPermission.s.sol new file mode 100644 index 00000000..839d909d --- /dev/null +++ b/script/DeployModularPermission.s.sol @@ -0,0 +1,74 @@ +pragma solidity ^0.8.0; + +import "src/validator/modularPermission/ModularPermissionValidator.sol"; +import "src/validator/modularPermission/signers/ECDSASigner.sol"; +import "src/validator/modularPermission/policies/GasPolicy.sol"; +import "src/validator/modularPermission/policies/SignaturePolicy.sol"; +import "src/validator/modularPermission/policies/SudoPolicy.sol"; +import {MerklePolicy} from "src/validator/modularPermission/policies/MerklePolicy.sol"; +import "forge-std/Script.sol"; +import "forge-std/console.sol"; + +contract DeployModularPermission is Script { + address constant EXPECTED_MODULAR_PERMISSION_ADDRESS = 0xfdDE9a26b6c3B7ca4b52C5f010d5B9Fb67e09E5A; + address constant EXPECTED_ECDSA_SIGNER_ADDRESS = 0x5569b550050F6537D9ac3329001be7F4C6659Cb0; + address constant EXPECTED_GAS_POLICY_ADDRESS = 0x62868E950Efbb336DCFf033598Ee5E602f0a93cD; + address constant EXPECTED_MERKLE_POLICY_ADDRESS = 0xb808D75B5ACf6B5513eb816d3980C733ae6Be468; + address constant EXPECTED_SIGNATURE_POLICY_ADDRESS = 0xdb5F74349Dd2FB2A09eEc2C6A39e77B68ca2852C; + address constant EXPECTED_SUDO_POLICY_ADDRESS = 0x9262C3A894328f9036Aa7a3f0f2cE8CF684ad20f; + + function run() public { + uint256 key = vm.envUint("TESTNET_DEPLOYER_PRIVATE_KEY"); + vm.startBroadcast(key); + + if (EXPECTED_MODULAR_PERMISSION_ADDRESS.code.length == 0) { + console.log("deploying ModularPermissionValidator"); + ModularPermissionValidator validator = new ModularPermissionValidator{salt: 0}(); + console.log("validator address: %s", address(validator)); + } else { + console.log("validator address: %s", address(EXPECTED_MODULAR_PERMISSION_ADDRESS)); + } + + if (EXPECTED_ECDSA_SIGNER_ADDRESS.code.length == 0) { + console.log("deploying ECDSASigner"); + ECDSASigner ecdsaSigner = new ECDSASigner{salt: 0}(); + console.log("ecdsaSigner address: %s", address(ecdsaSigner)); + } else { + console.log("ecdsaSigner address: %s", address(EXPECTED_ECDSA_SIGNER_ADDRESS)); + } + + if (EXPECTED_GAS_POLICY_ADDRESS.code.length == 0) { + console.log("deploying GasPolicy"); + GasPolicy gasPolicy = new GasPolicy{salt: 0}(); + console.log("gasPolicy address: %s", address(gasPolicy)); + } else { + console.log("gasPolicy address: %s", address(EXPECTED_GAS_POLICY_ADDRESS)); + } + + if (EXPECTED_MERKLE_POLICY_ADDRESS.code.length == 0) { + console.log("deploying MerklePolicy"); + MerklePolicy merklePolicy = new MerklePolicy{salt: 0}(); + console.log("merklePolicy address: %s", address(merklePolicy)); + } else { + console.log("merklePolicy address: %s", address(EXPECTED_MERKLE_POLICY_ADDRESS)); + } + + if (EXPECTED_SIGNATURE_POLICY_ADDRESS.code.length == 0) { + console.log("deploying SignaturePolicy"); + SignaturePolicy signturePolicy = new SignaturePolicy{salt: 0}(); + console.log("signturePolicy address: %s", address(signturePolicy)); + } else { + console.log("signturePolicy address: %s", address(EXPECTED_SIGNATURE_POLICY_ADDRESS)); + } + + if (EXPECTED_SUDO_POLICY_ADDRESS.code.length == 0) { + console.log("deploying SudoPolicy"); + SudoPolicy sudoPolicy = new SudoPolicy{salt: 0}(); + console.log("sudoPolicy address: %s", address(sudoPolicy)); + } else { + console.log("sudoPolicy address: %s", address(EXPECTED_SUDO_POLICY_ADDRESS)); + } + + vm.stopBroadcast(); + } +} diff --git a/script/postpack-contracts-package.sh b/script/postpack-contracts-package.sh deleted file mode 100755 index b034efc6..00000000 --- a/script/postpack-contracts-package.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash -xe -#echo postpack for "contracts" package -rm -rf artifacts-selected types dist - diff --git a/script/prepack-contracts-package.sh b/script/prepack-contracts-package.sh deleted file mode 100755 index 2d46f0fc..00000000 --- a/script/prepack-contracts-package.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash -xe -#echo prepack for "contracts" package - -npx hardhat clean -npx hardhat compile - - -rm -rf artifacts-selected types dist - -mkdir -p artifacts-selected -cp `find ./artifacts/src ./artifacts/lib -type f | grep -v -E 'Test|dbg|bls|IOracle'` artifacts-selected -npx typechain --target ethers-v5 --out-dir types artifacts-selected/** -npx tsc index.ts -d --outDir dist diff --git a/src/Kernel.sol b/src/Kernel.sol index 890214c1..f2e7c2ba 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -31,7 +31,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { bytes32 internal constant EIP712_DOMAIN_TYPEHASH = 0x8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f; - /// @dev Current kernel name and version, todo: Need to expose getter for this variables? + /// @dev Current kernel name and version string public constant name = KERNEL_NAME; string public constant version = KERNEL_VERSION; @@ -246,7 +246,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { ) ); validationData = _intersectValidationData( - _validateSignature(enableDigest, signature[cursor:cursor + length]), + _validateSignature(address(this), enableDigest, enableDigest, signature[cursor:cursor + length]), ValidationData.wrap( uint256(bytes32(signature[4:36])) & 0xffffffffffffffffffffffff0000000000000000000000000000000000000000 @@ -271,7 +271,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { /// @param hash The hash of the data that was signed /// @param signature The signature to be validated function validateSignature(bytes32 hash, bytes calldata signature) public view returns (ValidationData) { - return _validateSignature(hash, signature); + return _validateSignature(msg.sender, hash, hash, signature); } /// @dev Get the current name & version of the kernel, used for the EIP-712 domain separator @@ -306,7 +306,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { // Recreate the signed message hash with the correct domain separator bytes32 signedMessageHash = keccak256(abi.encodePacked("\x19\x01", domainSeparator, hash)); - ValidationData validationData = validateSignature(signedMessageHash, signature); + ValidationData validationData = _validateSignature(msg.sender, signedMessageHash, hash, signature); (ValidAfter validAfter, ValidUntil validUntil, address result) = parseValidationData(validationData); // Check if the signature is valid within the specified time frame and the result is successful @@ -324,7 +324,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { /// @dev Check if the current caller is authorized or no to perform the call /// @return True if the caller is authorized, otherwise false - function _checkCaller() internal view returns (bool) { + function _checkCaller() internal returns (bool) { if (_validCaller(msg.sender, msg.data)) { return true; } @@ -366,7 +366,7 @@ contract Kernel is EIP712, Compatibility, KernelStorage { /// @param _hash The hash of the data that was signed /// @param _signature The signature to be validated /// @return The magic value 0x1626ba7e if the signature is valid, otherwise returns 0xffffffff. - function _validateSignature(bytes32 _hash, bytes calldata _signature) + function _validateSignature(address _requestor, bytes32 _hash, bytes32 _rawHash, bytes calldata _signature) internal view virtual @@ -376,14 +376,23 @@ contract Kernel is EIP712, Compatibility, KernelStorage { assembly { validator := shr(80, sload(KERNEL_STORAGE_SLOT_1)) } - return IKernelValidator(validator).validateSignature(_hash, _signature); + // 20 bytes added at the end of the signature to store the address of the caller + (bool success, bytes memory res) = validator.staticcall( + abi.encodePacked( + abi.encodeWithSelector(IKernelValidator.validateSignature.selector, _hash, _signature), + _rawHash, + _requestor + ) + ); + require(success, "Kernel::_validateSignature: failed to validate signature"); + return abi.decode(res, (ValidationData)); } /// @dev Check if the given caller is valid for the given data /// @param _caller The caller to be checked /// @param _data The data to be checked /// @return True if the caller is valid, otherwise false - function _validCaller(address _caller, bytes calldata _data) internal view virtual returns (bool) { + function _validCaller(address _caller, bytes calldata _data) internal virtual returns (bool) { address validator; assembly { // Load the validator from the storage slot diff --git a/src/common/Types.sol b/src/common/Types.sol index 027c96c7..81ef36f4 100644 --- a/src/common/Types.sol +++ b/src/common/Types.sol @@ -12,6 +12,16 @@ function packValidationData(ValidAfter validAfter, ValidUntil validUntil) pure r ); } +function packValidationData(address aggregator, ValidAfter validAfter, ValidUntil validUntil) + pure + returns (ValidationData) +{ + return ValidationData.wrap( + uint256(ValidAfter.unwrap(validAfter)) << 208 | uint256(ValidUntil.unwrap(validUntil)) << 160 + | uint160(aggregator) + ); +} + function parseValidationData(ValidationData validationData) pure returns (ValidAfter validAfter, ValidUntil validUntil, address result) diff --git a/src/interfaces/IKernelValidator.sol b/src/interfaces/IKernelValidator.sol index 4544c92b..df7e0db0 100644 --- a/src/interfaces/IKernelValidator.sol +++ b/src/interfaces/IKernelValidator.sol @@ -18,7 +18,7 @@ interface IKernelValidator { function validateSignature(bytes32 hash, bytes calldata signature) external view returns (ValidationData); - function validCaller(address caller, bytes calldata data) external view returns (bool); + function validCaller(address caller, bytes calldata data) external payable returns (bool); } // 3 modes diff --git a/src/lite/KernelLiteECDSA.sol b/src/lite/KernelLiteECDSA.sol index 4f3a1a6f..ee42efe1 100644 --- a/src/lite/KernelLiteECDSA.sol +++ b/src/lite/KernelLiteECDSA.sol @@ -70,7 +70,7 @@ contract KernelLiteECDSA is Kernel { } /// @dev Validate a signature - function _validateSignature(bytes32 _hash, bytes calldata _signature) + function _validateSignature(address, /*_requestor*/ bytes32 _hash, bytes32, /*_rawHash*/ bytes calldata _signature) internal view override diff --git a/src/mock/TestValidator.sol b/src/mock/TestValidator.sol index dad5d27e..48cb5f32 100644 --- a/src/mock/TestValidator.sol +++ b/src/mock/TestValidator.sol @@ -49,7 +49,7 @@ contract TestValidator is IKernelValidator { emit TestDisable(_data); } - function validCaller(address _caller, bytes calldata) external view override returns (bool) { + function validCaller(address _caller, bytes calldata) external payable override returns (bool) { return _caller == caller[msg.sender]; } } diff --git a/src/utils/KernelHelper.sol b/src/utils/KernelHelper.sol index c3d0fe3e..6c6d3e47 100644 --- a/src/utils/KernelHelper.sol +++ b/src/utils/KernelHelper.sol @@ -9,12 +9,21 @@ function _intersectValidationData(ValidationData a, ValidationData b) pure retur // xor(a,b) == shows only matching bits // and(xor(a,b), 0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff) == filters out the validAfter and validUntil bits // if the result is not zero, then aggregator part is not matching - switch iszero(and(xor(a, b), 0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff)) + // validCase : + // a == 0 || b == 0 || xor(a,b) == 0 + // invalidCase : + // a mul b != 0 && xor(a,b) != 0 + let sum := shl(96, add(a, b)) + switch or( + iszero(and(xor(a, b), 0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff)), + or(eq(sum, shl(96, a)), eq(sum, shl(96, b))) + ) case 1 { + validationData := and(or(a, b), 0x000000000000000000000000ffffffffffffffffffffffffffffffffffffffff) // validAfter - let a_vd := and(0xffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff, a) - let b_vd := and(0xffffffffffff000000000000ffffffffffffffffffffffffffffffffffffffff, b) - validationData := xor(a_vd, mul(xor(a_vd, b_vd), gt(b_vd, a_vd))) + let a_vd := and(0xffffffffffff0000000000000000000000000000000000000000000000000000, a) + let b_vd := and(0xffffffffffff0000000000000000000000000000000000000000000000000000, b) + validationData := or(validationData, xor(a_vd, mul(xor(a_vd, b_vd), gt(b_vd, a_vd)))) // validUntil a_vd := and(0x000000000000ffffffffffff0000000000000000000000000000000000000000, a) if iszero(a_vd) { a_vd := 0x000000000000ffffffffffff0000000000000000000000000000000000000000 } diff --git a/src/utils/KernelTestBase.sol b/src/utils/KernelTestBase.sol index 8411c6bc..6c48b09f 100644 --- a/src/utils/KernelTestBase.sol +++ b/src/utils/KernelTestBase.sol @@ -205,14 +205,18 @@ abstract contract KernelTestBase is Test { ) ); bytes memory sig = signHash(digest); + vm.startPrank(makeAddr("app")); assertEq(kernel.isValidSignature(hash, sig), Kernel.isValidSignature.selector); assertEq(kernel2.isValidSignature(hash, sig), bytes4(0xffffffff)); + vm.stopPrank(); } function test_fail_validate_wrongsignature() external virtual { bytes32 hash = keccak256(abi.encodePacked("hello world")); bytes memory sig = getWrongSignature(hash); + vm.startPrank(makeAddr("app")); assertEq(kernel.isValidSignature(hash, sig), bytes4(0xffffffff)); + vm.stopPrank(); } function test_fail_validate_not_activate() external virtual { @@ -225,12 +229,14 @@ abstract contract KernelTestBase is Test { vm.warp(100000); + vm.startPrank(makeAddr("app")); bytes32 hash = keccak256(abi.encodePacked("hello world")); assertEq(kernel.isValidSignature(hash, ""), bytes4(0xffffffff)); newDefaultValidator.setData(true, uint48(block.timestamp + 1000), uint48(0)); assertEq(kernel.isValidSignature(hash, ""), bytes4(0xffffffff)); newDefaultValidator.setData(true, uint48(0), uint48(block.timestamp - 1000)); assertEq(kernel.isValidSignature(hash, ""), bytes4(0xffffffff)); + vm.stopPrank(); } function test_should_emit_event_on_receive() external { diff --git a/src/validator/ECDSATypedValidator.sol b/src/validator/ECDSATypedValidator.sol index f2dea0c3..cb23106c 100644 --- a/src/validator/ECDSATypedValidator.sol +++ b/src/validator/ECDSATypedValidator.sol @@ -110,7 +110,7 @@ contract ECDSATypedValidator is IKernelValidator, EIP712 { } /// @dev Check if the caller is a valid signer for this kernel account - function validCaller(address _caller, bytes calldata) external view override returns (bool) { + function validCaller(address _caller, bytes calldata) external payable override returns (bool) { return ecdsaValidatorStorage[msg.sender].owner == _caller; } diff --git a/src/validator/ECDSAValidator.sol b/src/validator/ECDSAValidator.sol index 9eeabf6e..131b9ba1 100644 --- a/src/validator/ECDSAValidator.sol +++ b/src/validator/ECDSAValidator.sol @@ -57,7 +57,7 @@ contract ECDSAValidator is IKernelValidator { return ValidationData.wrap(0); } - function validCaller(address _caller, bytes calldata) external view override returns (bool) { + function validCaller(address _caller, bytes calldata) external payable override returns (bool) { return ecdsaValidatorStorage[msg.sender].owner == _caller; } } diff --git a/src/validator/ERC165SessionKeyValidator.sol b/src/validator/ERC165SessionKeyValidator.sol index ecb56c45..bd29f6f5 100644 --- a/src/validator/ERC165SessionKeyValidator.sol +++ b/src/validator/ERC165SessionKeyValidator.sol @@ -62,7 +62,7 @@ contract ERC165SessionKeyValidator is IKernelValidator { return packValidationData(sessionKey.validAfter, sessionKey.validUntil); } - function validCaller(address, bytes calldata) external pure override returns (bool) { + function validCaller(address, bytes calldata) external payable override returns (bool) { revert NotImplemented(); } } diff --git a/src/validator/KillSwitchValidator.sol b/src/validator/KillSwitchValidator.sol index 7df15d91..70f1d816 100644 --- a/src/validator/KillSwitchValidator.sol +++ b/src/validator/KillSwitchValidator.sol @@ -79,7 +79,7 @@ contract KillSwitchValidator is IKernelValidator { } } - function validCaller(address, bytes calldata) external pure override returns (bool) { + function validCaller(address, bytes calldata) external payable override returns (bool) { revert NotImplemented(); } } diff --git a/src/validator/SessionKeyValidator.sol b/src/validator/SessionKeyValidator.sol index 8021a452..7b7fc60d 100644 --- a/src/validator/SessionKeyValidator.sol +++ b/src/validator/SessionKeyValidator.sol @@ -32,7 +32,9 @@ contract SessionKeyValidator is IKernelValidator { function invalidateNonce(uint128 nonce) public { require(nonce > nonces[msg.sender].invalidNonce, "SessionKeyValidator: invalid nonce"); nonces[msg.sender].invalidNonce = nonce; - nonces[msg.sender].lastNonce = nonce; + if (nonces[msg.sender].lastNonce < nonce) { + nonces[msg.sender].lastNonce = nonce; + } } function disable(bytes calldata _data) external payable { @@ -299,7 +301,7 @@ contract SessionKeyValidator is IKernelValidator { return true; } - function validCaller(address, bytes calldata) external pure returns (bool) { + function validCaller(address, bytes calldata) external payable returns (bool) { revert NotImplemented(); } diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index 345eed2c..d495b945 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -250,7 +250,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { passed = approvals >= strg.threshold; } - function validCaller(address, bytes calldata) external pure override returns (bool) { + function validCaller(address, bytes calldata) external payable override returns (bool) { return false; } diff --git a/src/validator/modularPermission/IPolicy.sol b/src/validator/modularPermission/IPolicy.sol new file mode 100644 index 00000000..a57b8148 --- /dev/null +++ b/src/validator/modularPermission/IPolicy.sol @@ -0,0 +1,23 @@ +pragma solidity ^0.8.0; + +import {ValidationData, ValidUntil, ValidAfter, packValidationData} from "src/common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "src/common/Constants.sol"; +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; + +interface IPolicy { + function registerPolicy(address kernel, bytes32 permissionId, bytes calldata policyData) external payable; + function checkUserOpPolicy( + address kernel, + bytes32 permissionId, + UserOperation calldata userOp, + bytes calldata proofAndSig + ) external payable returns (ValidationData); + function validateSignature( + address kernel, + address caller, + bytes32 permissionId, + bytes32 messageHash, + bytes32 rawHash, + bytes calldata signature + ) external view returns (ValidationData); +} diff --git a/src/validator/modularPermission/ISigner.sol b/src/validator/modularPermission/ISigner.sol new file mode 100644 index 00000000..885cc8ed --- /dev/null +++ b/src/validator/modularPermission/ISigner.sol @@ -0,0 +1,17 @@ +pragma solidity ^0.8.0; + +import {ValidationData} from "src/common/Types.sol"; +import {ValidAfter, ValidUntil, packValidationData} from "src/common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "src/common/Constants.sol"; + +interface ISigner { + function registerSigner(address kernel, bytes32 permissionId, bytes calldata signerData) external payable; + function validateUserOp(address kernel, bytes32 permissionId, bytes32 userOpHash, bytes calldata signature) + external + payable + returns (ValidationData); + function validateSignature(address kernel, bytes32 permissionId, bytes32 messageHash, bytes calldata signature) + external + view + returns (ValidationData); +} diff --git a/src/validator/modularPermission/ModularPermissionValidator.sol b/src/validator/modularPermission/ModularPermissionValidator.sol new file mode 100644 index 00000000..7602b6c2 --- /dev/null +++ b/src/validator/modularPermission/ModularPermissionValidator.sol @@ -0,0 +1,280 @@ +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ValidationData, ValidAfter, ValidUntil} from "src/common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "src/common/Constants.sol"; +import {IKernelValidator} from "src/interfaces/IKernelValidator.sol"; +import {ISigner} from "./ISigner.sol"; +import {IPolicy} from "./IPolicy.sol"; +import {_intersectValidationData} from "src/utils/KernelHelper.sol"; +import {PolicyConfig, PolicyConfigLib, toFlag, MAX_FLAG} from "./PolicyConfig.sol"; +import "forge-std/console.sol"; + +struct Permission { + uint128 nonce; + bytes12 flag; // flag represents what permission can do + ISigner signer; + PolicyConfig firstPolicy; + ValidAfter validAfter; + ValidUntil validUntil; +} + +struct Nonce { + uint128 lastNonce; + uint128 revoked; +} + +/// @title ModularPermissionValidator +/// @notice Validator that allows to register and revoke permissions +/// @dev modular architecture to allow composable permission system +contract ModularPermissionValidator is IKernelValidator { + mapping(address => bytes32) public priorityPermission; + mapping(bytes32 permissionId => mapping(address kernel => Permission)) public permissions; + mapping(bytes32 permissionId => mapping(PolicyConfig policy => mapping(address kernel => PolicyConfig))) public + nextPolicy; + mapping(address kernel => Nonce) public nonces; + + event PermissionRegistered(address kernel, bytes32 permissionId); + event PermissionRevoked(address kernel, bytes32 permissionId); + event NonceRevoked(address kernel, uint256 nonce); + + function getPermissionId( + bytes12 flag, + ISigner signer, + ValidAfter validAfter, + ValidUntil validUntil, + PolicyConfig[] calldata _policyConfig, + bytes calldata signerData, + bytes[] calldata policyData + ) public pure returns (bytes32) { + return keccak256( + abi.encode( + flag, + signer, + ValidAfter.unwrap(validAfter), + ValidUntil.unwrap(validUntil), + _policyConfig, + signerData, + policyData + ) + ); + } + + function parseData(bytes calldata data) + public + pure + returns ( + uint128 nonce, + bytes12 flag, + ISigner signer, + ValidAfter validAfter, + ValidUntil validUntil, + PolicyConfig[] calldata policies, + bytes calldata signerData, + bytes[] calldata policyData + ) + { + nonce = uint128(bytes16(data[0:16])); + flag = bytes12(data[16:28]); + validAfter = ValidAfter.wrap(uint48(bytes6(data[28:34]))); + validUntil = ValidUntil.wrap(uint48(bytes6(data[34:40]))); + signer = ISigner(address(bytes20(data[40:60]))); + assembly { + let offset := add(data.offset, 60) + policies.offset := add(add(offset, 32), calldataload(offset)) + policies.length := calldataload(sub(policies.offset, 32)) + signerData.offset := add(add(offset, 32), calldataload(add(offset, 32))) + signerData.length := calldataload(sub(signerData.offset, 32)) + policyData.offset := add(add(offset, 32), calldataload(add(offset, 64))) + policyData.length := calldataload(sub(policyData.offset, 32)) + } + } + + function enable(bytes calldata data) external payable { + ( + uint128 nonce, + bytes12 flag, + ISigner signer, + ValidAfter validAfter, + ValidUntil validUntil, + PolicyConfig[] calldata policies, + bytes calldata signerData, + bytes[] calldata policyData + ) = parseData(data); + registerPermission(nonce, flag, signer, validAfter, validUntil, policies, signerData, policyData); + } + + function registerPermission( + uint128 nonce, + bytes12 flag, + ISigner signer, + ValidAfter validAfter, + ValidUntil validUntil, + PolicyConfig[] calldata policy, + bytes calldata signerData, + bytes[] calldata policyData + ) public payable { + require(flag != toFlag(0), "flag should not be empty"); + require( + nonce == nonces[msg.sender].lastNonce || nonce == nonces[msg.sender].lastNonce + 1, "nonce should be next" + ); + nonces[msg.sender].lastNonce++; + bytes32 permissionId = getPermissionId(flag, signer, validAfter, validUntil, policy, signerData, policyData); + if (flag == MAX_FLAG) { + priorityPermission[msg.sender] = permissionId; + } + + bytes12 maxFlag = flag; + for (uint256 i = 0; i < policy.length; i++) { + //TODO make sure address of the policy is sorted + PolicyConfigLib.getAddress(policy[i]).registerPolicy(msg.sender, permissionId, policyData[i]); + // NOTE: flag for policy is inverted version of flag for permission; + bytes12 currentFlag = PolicyConfigLib.getFlags(policy[i]); + // turn off flags that are used, + // meaning that remaining maxFlag will indicate the permissions that are not used on this permission + maxFlag = currentFlag & maxFlag; + } + signer.registerSigner(msg.sender, permissionId, signerData); + + PolicyConfig firstPolicy = policy[0]; // NOTE : policy should not be empty array + require(maxFlag == bytes12(0), "error : permission flag exceeds policy flag"); + permissions[permissionId][msg.sender] = Permission(nonce, flag, signer, firstPolicy, validAfter, validUntil); + for (uint256 i = 1; i < policy.length; i++) { + nextPolicy[permissionId][policy[i - 1]][msg.sender] = policy[i]; + } + emit PermissionRegistered(msg.sender, permissionId); + } + + function disable(bytes calldata data) external payable { + if (data.length == 32) { + revokePermission(bytes32(data)); + } else { + revokePermission(uint128(bytes16(data))); + } + } + + function revokePermission(bytes32 permissionId) public payable { + permissions[permissionId][msg.sender].flag = toFlag(0); // NOTE: making flag == 0 makes it invalid + emit PermissionRevoked(msg.sender, permissionId); + } + + function revokePermission(uint128 nonce) public payable { + nonces[msg.sender].revoked = nonce; + emit NonceRevoked(msg.sender, nonce); + } + + function validateUserOp(UserOperation calldata _userOp, bytes32 _userOpHash, uint256) + external + payable + returns (ValidationData validationData) + { + require(_userOp.sender == msg.sender, "sender must be msg.sender"); + bytes32 permissionId = bytes32(_userOp.signature[0:32]); + if ( + permissions[permissionId][msg.sender].flag & toFlag(1) == toFlag(0) + || nonces[msg.sender].revoked > permissions[permissionId][msg.sender].nonce + ) { + return SIG_VALIDATION_FAILED; + } + Permission memory permission = permissions[permissionId][msg.sender]; + PolicyConfig policy = permission.firstPolicy; + uint256 cursor = 32; + while (address(PolicyConfigLib.getAddress(policy)) != address(0)) { + if (PolicyConfigLib.skipOnValidateUserOp(policy)) { + policy = nextPolicy[permissionId][policy][msg.sender]; + continue; + } + bytes calldata policyData; + if ( + _userOp.signature.length >= cursor + 52 + && address(bytes20(_userOp.signature[cursor:cursor + 20])) + == address(PolicyConfigLib.getAddress(policy)) + ) { + // only when policy address is same as the one in signature + uint256 length = uint256(bytes32(_userOp.signature[cursor + 20:cursor + 52])); + require(_userOp.signature.length >= cursor + 52 + length, "policyData length exceeds signature length"); + policyData = _userOp.signature[cursor + 52:cursor + 52 + length]; // [policyAddress, policyDataLength, policyData] + cursor += 52 + length; + } else { + policyData = _userOp.signature[cursor:cursor]; + } + ValidationData policyValidation = + PolicyConfigLib.getAddress(policy).checkUserOpPolicy(msg.sender, permissionId, _userOp, policyData); + validationData = _intersectValidationData(validationData, policyValidation); + policy = nextPolicy[permissionId][policy][msg.sender]; + } + ValidationData signatureValidation = + permission.signer.validateUserOp(msg.sender, permissionId, _userOpHash, _userOp.signature[cursor:]); + validationData = _intersectValidationData(validationData, signatureValidation); + } + + function validCaller(address caller, bytes calldata data) external payable override returns (bool) { + revert("not implemented"); + } + + struct ValidationSigMemory { + address caller; + bytes32 permissionId; + bytes32 rawHash; + uint256 cursor; + PolicyConfig policy; + } + + function validateSignature(bytes32 hash, bytes calldata signature) + external + view + override + returns (ValidationData validationData) + { + ValidationSigMemory memory sigMemory; + sigMemory.permissionId = bytes32(signature[0:32]); + if ( + nonces[msg.sender].revoked > permissions[sigMemory.permissionId][msg.sender].nonce + || permissions[sigMemory.permissionId][msg.sender].flag & toFlag(2) == toFlag(0) + ) { + return SIG_VALIDATION_FAILED; + } + Permission memory permission = permissions[sigMemory.permissionId][msg.sender]; + // signature should be packed with + // (permissionId, [proof || signature]) + // (permissionId, [ (policyAddress) + (policyProof) || signature] + bytes calldata proofAndSignature; //) = abi.decode(signature[32:], (bytes, bytes)); + assembly { + proofAndSignature.offset := add(signature.offset, 32) + proofAndSignature.length := sub(signature.length, 32) + } + + sigMemory.cursor = 0; + sigMemory.policy = permission.firstPolicy; + sigMemory.caller = address(bytes20(msg.data[msg.data.length - 20:])); + sigMemory.rawHash = bytes32(msg.data[msg.data.length - 52:msg.data.length - 20]); + while (address(PolicyConfigLib.getAddress(sigMemory.policy)) != address(0)) { + if (PolicyConfigLib.skipOnValidateSignature(sigMemory.policy)) { + sigMemory.policy = nextPolicy[sigMemory.permissionId][sigMemory.policy][msg.sender]; + continue; + } + bytes calldata policyData; + if ( + address(bytes20(proofAndSignature[sigMemory.cursor:sigMemory.cursor + 20])) + == address(PolicyConfigLib.getAddress(sigMemory.policy)) + ) { + // only when policy address is same as the one in signature + uint256 length = uint256(bytes32(proofAndSignature[sigMemory.cursor + 20:sigMemory.cursor + 52])); + policyData = proofAndSignature[sigMemory.cursor + 52:]; // [policyAddress, policyDataLength, policyData] + sigMemory.cursor += 52 + length; + } else { + policyData = proofAndSignature[sigMemory.cursor:sigMemory.cursor]; + // not move cursor here + } + ValidationData policyValidation = PolicyConfigLib.getAddress(sigMemory.policy).validateSignature( + msg.sender, sigMemory.caller, sigMemory.permissionId, hash, sigMemory.rawHash, policyData + ); + validationData = _intersectValidationData(validationData, policyValidation); + sigMemory.policy = nextPolicy[sigMemory.permissionId][sigMemory.policy][msg.sender]; + } + ValidationData signatureValidation = permission.signer.validateSignature( + msg.sender, sigMemory.permissionId, hash, proofAndSignature[sigMemory.cursor:] + ); + validationData = _intersectValidationData(validationData, signatureValidation); + } +} diff --git a/src/validator/modularPermission/PolicyConfig.sol b/src/validator/modularPermission/PolicyConfig.sol new file mode 100644 index 00000000..8f4f89cc --- /dev/null +++ b/src/validator/modularPermission/PolicyConfig.sol @@ -0,0 +1,67 @@ +pragma solidity ^0.8.0; + +import "./IPolicy.sol"; + +type PolicyConfig is bytes32; + +function toFlag(uint256 x) pure returns (bytes12) { + return bytes12(bytes32(x << 160)); +} + +function toPermissionFlag(uint256 x) pure returns(bytes12) { + bytes12 ret = bytes12(bytes32(x << 160)); + assembly { + ret := not(ret) + } + return ret; +} + +bytes12 constant MAX_FLAG = 0xffffffffffffffffffffffff; +// PolicyData is a 32 bytes array that contains the address of the policy +// [flags(12 bytes), address(20 bytes)] +// flags is 96 bits that contains the following information +// from last to first bit +// 1 bit : not for validatUserOp +// 1 bit : not for validateSignature +// 1 bit : not for validateCaller + +library PolicyConfigLib { + function pack(IPolicy addr, bytes12 flag) internal pure returns (PolicyConfig data) { + assembly { + data := or(addr, flag) + } + } + + function getAddress(PolicyConfig data) internal pure returns (IPolicy policy) { + assembly { + policy := and(data, 0xffffffffffffffffffffffffffffffffffffffff) + } + } + + function getFlags(PolicyConfig data) internal pure returns (bytes12 flags) { + assembly { + flags := shr(160, data) + } + } + + function skipOnValidateUserOp(PolicyConfig data) internal pure returns (bool result) { + assembly { + let flags := shr(160, data) + result := and(flags, 0x1) + } + } + + function skipOnValidateSignature(PolicyConfig data) internal pure returns (bool result) { + assembly { + let flags := shr(161, data) + result := and(flags, 0x1) + } + } + + function skipOnValidateCaller(PolicyConfig data) internal pure returns (bool result) { + assembly { + let flags := shr(162, data) + result := and(flags, 0x1) + } + } +} diff --git a/src/validator/modularPermission/mock/MockPolicy.sol b/src/validator/modularPermission/mock/MockPolicy.sol new file mode 100644 index 00000000..7b3384f2 --- /dev/null +++ b/src/validator/modularPermission/mock/MockPolicy.sol @@ -0,0 +1,49 @@ +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ValidationData, ValidUntil, ValidAfter, packValidationData} from "src/common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "src/common/Constants.sol"; +import {IPolicy} from "../IPolicy.sol"; + +contract MockPolicy is IPolicy { + ValidationData public validationData; + mapping(bytes32 => uint256) public count; + bytes public policyData; + bool public revertOnSignature; + + function mock(uint48 validAfter, uint48 validUntil, bool success, bool revertOnSig) external { + validationData = success + ? packValidationData(ValidAfter.wrap(validAfter), ValidUntil.wrap(validUntil)) + : SIG_VALIDATION_FAILED; + revertOnSignature = revertOnSig; + } + + function registerPolicy(address, bytes32, bytes calldata data) external payable override { + // do nothing + policyData = data; + } + + function checkUserOpPolicy(address, bytes32 permissionId, UserOperation calldata, bytes calldata) + external + payable + override + returns (ValidationData) + { + count[permissionId]++; + return validationData; + } + + function validateSignature( + address kernel, + address caller, + bytes32 permissionId, + bytes32 messageHash, + bytes32 rawHash, + bytes calldata signature + ) external view override returns (ValidationData) { + if (revertOnSignature) { + revert("MockPolicy: signature validation failed"); + } + return validationData; + } +} diff --git a/src/validator/modularPermission/mock/MockRequestor.sol b/src/validator/modularPermission/mock/MockRequestor.sol new file mode 100644 index 00000000..d6b4872a --- /dev/null +++ b/src/validator/modularPermission/mock/MockRequestor.sol @@ -0,0 +1,11 @@ +pragma solidity ^0.8.0; + +interface KernelERC1271 { + function isValidSignature(bytes32 hash, bytes calldata signature) external view returns (bytes4); +} + +contract MockRequestor { + function verifySignature(address kernel, bytes32 hash, bytes calldata signature) external payable returns (bool) { + return KernelERC1271(kernel).isValidSignature(hash, signature) == 0x1626ba7e; + } +} diff --git a/src/validator/modularPermission/mock/MockSigner.sol b/src/validator/modularPermission/mock/MockSigner.sol new file mode 100644 index 00000000..f323b8c2 --- /dev/null +++ b/src/validator/modularPermission/mock/MockSigner.sol @@ -0,0 +1,42 @@ +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ValidationData, ValidUntil, ValidAfter, packValidationData} from "src/common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "src/common/Constants.sol"; +import {ISigner} from "../ISigner.sol"; + +contract MockSigner is ISigner { + ValidationData public validationData; + mapping(bytes32 => uint256) public count; + bytes public signerData; + + function mock(uint48 validAfter, uint48 validUntil, bool success) external { + validationData = success + ? packValidationData(ValidAfter.wrap(validAfter), ValidUntil.wrap(validUntil)) + : SIG_VALIDATION_FAILED; + } + + function registerSigner(address, bytes32, bytes calldata data) external payable override { + // do nothing + signerData = data; + } + + function validateUserOp(address, bytes32 permissionId, bytes32, bytes calldata) + external + payable + override + returns (ValidationData) + { + count[permissionId]++; + return validationData; + } + + function validateSignature(address, bytes32, bytes32, bytes calldata) + external + view + override + returns (ValidationData) + { + return validationData; + } +} diff --git a/src/validator/modularPermission/policies/EIP712Policy.sol b/src/validator/modularPermission/policies/EIP712Policy.sol new file mode 100644 index 00000000..f23836ed --- /dev/null +++ b/src/validator/modularPermission/policies/EIP712Policy.sol @@ -0,0 +1,131 @@ +pragma solidity ^0.8.0; + +import "../IPolicy.sol"; + +// does not support nested parameters, +// only allow checking, +// 1. domain separator +// 2. typeHash +// 3. encodeData => only allows 32 bytes of parameter in encodeData, if you are dealing with dynamic value, you need to pass in the keccak256 hash of the value +struct EncodeDataRule { + uint32 index; + bytes32 value; + ParamRule rule; +} + +struct AllowedEIP712Params { + bytes32 domainSeparator; + bytes32 typeHash; + EncodeDataRule encodeDataRule; +} + +enum ParamRule { + NA, + Equal, + NotEqual, + GreaterThan, + GreaterThanOrEqual, + LessThan, + LessThanOrEqual +} + +contract EIP712Policy is IPolicy { + mapping( + bytes32 permissionId => mapping(address permissionValidator => mapping(address kernel => AllowedEIP712Params)) + ) public eip712Param; + mapping( + bytes32 permissionId + => mapping( + address permissionValidator => mapping(bytes32 encodeData => mapping(address kernel => EncodeDataRule)) + ) + ) public nextEncodeData; + + function registerPolicy(address _kernel, bytes32 _permissionId, bytes calldata _data) external payable override { + bytes32 domainSeparator = bytes32(_data[0:32]); + bytes32 typeHash = bytes32(_data[32:64]); + uint32 index = uint32(bytes4(_data[64:68])); + ParamRule rule = ParamRule(uint8(bytes1(_data[68]))); + bytes32 encodeData = bytes32(_data[69:101]); + uint256 cursor = 101; + EncodeDataRule memory encodeDataRule = EncodeDataRule(index, encodeData, rule); + eip712Param[_permissionId][msg.sender][_kernel] = AllowedEIP712Params(domainSeparator, typeHash, encodeDataRule); + while (cursor <= _data.length - 37) { + index = uint32(bytes4(_data[cursor:cursor + 4])); + rule = ParamRule(uint8(bytes1(_data[cursor + 4]))); + bytes32 nextEncodeParam = bytes32(_data[cursor + 5:cursor + 37]); + nextEncodeData[_permissionId][msg.sender][encodeData][_kernel] = + EncodeDataRule(index, nextEncodeParam, rule); + cursor += 37; + } + } + + function checkUserOpPolicy( + address _kernel, + bytes32 _permissionId, + UserOperation calldata _userOp, + bytes calldata _policyProof + ) external payable override returns (ValidationData) { + // do nothing on userOp validation + return ValidationData.wrap(0); + } + + function validateSignature( + address _kernel, + address _caller, + bytes32 _permissionId, + bytes32 _messageHash, + bytes32 _rawHash, + bytes calldata _signature + ) external view override returns (ValidationData) { + AllowedEIP712Params memory allowedEIP712Params = eip712Param[_permissionId][msg.sender][_kernel]; + bytes32[] memory encodedData = new bytes32[](uint32(bytes4(_signature[64:68]))); + uint256 cursor = 68; + for (uint32 i = 0; i < encodedData.length; i++) { + encodedData[i] = bytes32(_signature[cursor:cursor + 32]); + cursor += 32; + } + { + bytes32 domainSeparator = bytes32(_signature[0:32]); + bytes32 typeHash = bytes32(_signature[32:64]); + if ( + allowedEIP712Params.domainSeparator | domainSeparator != domainSeparator + || allowedEIP712Params.typeHash | typeHash != typeHash + ) { + return SIG_VALIDATION_FAILED; + } + bytes32 structHash = keccak256(abi.encodePacked(typeHash, encodedData)); + bytes32 digest = keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); + require(digest == _rawHash, "digest != _rawHash"); + } + EncodeDataRule memory encodeDataRule = allowedEIP712Params.encodeDataRule; + while (encodeDataRule.rule != ParamRule.NA) { + if (encodeDataRule.rule == ParamRule.Equal) { + if (encodedData[encodeDataRule.index] != encodeDataRule.value) { + return SIG_VALIDATION_FAILED; + } + } else if (encodeDataRule.rule == ParamRule.NotEqual) { + if (encodedData[encodeDataRule.index] == encodeDataRule.value) { + return SIG_VALIDATION_FAILED; + } + } else if (encodeDataRule.rule == ParamRule.GreaterThan) { + if (encodedData[encodeDataRule.index] <= encodeDataRule.value) { + return SIG_VALIDATION_FAILED; + } + } else if (encodeDataRule.rule == ParamRule.GreaterThanOrEqual) { + if (encodedData[encodeDataRule.index] < encodeDataRule.value) { + return SIG_VALIDATION_FAILED; + } + } else if (encodeDataRule.rule == ParamRule.LessThan) { + if (encodedData[encodeDataRule.index] >= encodeDataRule.value) { + return SIG_VALIDATION_FAILED; + } + } else if (encodeDataRule.rule == ParamRule.LessThanOrEqual) { + if (encodedData[encodeDataRule.index] > encodeDataRule.value) { + return SIG_VALIDATION_FAILED; + } + } + encodeDataRule = nextEncodeData[_permissionId][_caller][encodeDataRule.value][_kernel]; + } + return ValidationData.wrap(0); + } +} diff --git a/src/validator/modularPermission/policies/ExecutePolicy.sol b/src/validator/modularPermission/policies/ExecutePolicy.sol new file mode 100644 index 00000000..4ca7f917 --- /dev/null +++ b/src/validator/modularPermission/policies/ExecutePolicy.sol @@ -0,0 +1,50 @@ +pragma solidity ^0.8.0; + +import "../IPolicy.sol"; + +struct ExecutionConfig { + uint48 interval; + uint48 count; + ValidAfter startAt; +} + +contract ExecutePolicy is IPolicy { + mapping(address permissionValidator => mapping(bytes32 permissionId => mapping(address kernel => ExecutionConfig))) + public executionConfigs; + + function registerPolicy(address kernel, bytes32 permissionId, bytes calldata policyData) + external + payable + override + { + uint48 delay = uint48(bytes6(policyData[0:6])); + uint48 count = uint48(bytes6(policyData[6:12])); + uint48 startAt = uint48(bytes6(policyData[12:18])); + executionConfigs[msg.sender][permissionId][kernel] = ExecutionConfig(delay, count, ValidAfter.wrap(startAt)); + } + + function checkUserOpPolicy(address kernel, bytes32 permissionId, UserOperation calldata, bytes calldata) + external + payable + override + returns (ValidationData) + { + ExecutionConfig memory config = executionConfigs[msg.sender][permissionId][kernel]; + if (config.count == 0) { + return SIG_VALIDATION_FAILED; + } + executionConfigs[msg.sender][permissionId][kernel].count = config.count - 1; + executionConfigs[msg.sender][permissionId][kernel].startAt = + ValidAfter.wrap(ValidAfter.unwrap(config.startAt) + config.interval); + return packValidationData(config.startAt, ValidUntil.wrap(0)); + } + + function validateSignature(address, address, bytes32, bytes32, bytes32, bytes calldata) + external + view + override + returns (ValidationData) + { + return ValidationData.wrap(0); + } +} diff --git a/src/validator/modularPermission/policies/GasPolicy.sol b/src/validator/modularPermission/policies/GasPolicy.sol new file mode 100644 index 00000000..8d0cbeaa --- /dev/null +++ b/src/validator/modularPermission/policies/GasPolicy.sol @@ -0,0 +1,58 @@ +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ValidationData, ValidUntil, ValidAfter, packValidationData} from "src/common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "src/common/Constants.sol"; +import {IPolicy} from "../IPolicy.sol"; + +contract GasPolicy is IPolicy { + struct GasPolicyConfig { + uint128 allowed; + bool enforcePaymaster; + address allowedPaymaster; + } + + mapping(address permissionValidator => mapping(bytes32 permissionId => mapping(address kernel => GasPolicyConfig))) + public gasPolicyConfig; + + function registerPolicy(address kernel, bytes32 permissionId, bytes calldata data) external payable override { + (uint128 allowed, bool enforcePaymaster, address allowedPaymaster) = abi.decode(data, (uint128, bool, address)); + gasPolicyConfig[msg.sender][permissionId][kernel] = GasPolicyConfig(allowed, enforcePaymaster, allowedPaymaster); + } + + function checkUserOpPolicy(address kernel, bytes32 permissionId, UserOperation calldata userOp, bytes calldata) + external + payable + override + returns (ValidationData) + { + uint128 maxAmount = uint128( + (userOp.preVerificationGas + userOp.verificationGasLimit + userOp.callGasLimit) * userOp.maxFeePerGas + ); + if (gasPolicyConfig[msg.sender][permissionId][kernel].enforcePaymaster) { + if ( + gasPolicyConfig[msg.sender][permissionId][kernel].allowedPaymaster != address(0) + && address(bytes20(userOp.paymasterAndData[0:20])) + != gasPolicyConfig[msg.sender][permissionId][kernel].allowedPaymaster + ) { + return SIG_VALIDATION_FAILED; + } + } + if (maxAmount > gasPolicyConfig[msg.sender][permissionId][kernel].allowed) { + return SIG_VALIDATION_FAILED; + } + gasPolicyConfig[msg.sender][permissionId][kernel].allowed -= maxAmount; + return ValidationData.wrap(0); + } + + function validateSignature( + address kernel, + address caller, + bytes32 permissionId, + bytes32 messageHash, + bytes32 rawHash, + bytes calldata signature + ) external view override returns (ValidationData) { + return ValidationData.wrap(0); + } +} diff --git a/src/validator/modularPermission/policies/MerklePolicy.sol b/src/validator/modularPermission/policies/MerklePolicy.sol new file mode 100644 index 00000000..796714a6 --- /dev/null +++ b/src/validator/modularPermission/policies/MerklePolicy.sol @@ -0,0 +1,180 @@ +pragma solidity ^0.8.0; + +import "../IPolicy.sol"; +import {Kernel} from "../../../Kernel.sol"; +import {ParamCondition, Operation} from "../../../common/Enums.sol"; +import {Call} from "../../../common/Structs.sol"; +import {MerkleProofLib} from "solady/utils/MerkleProofLib.sol"; + +struct Permission { + address target; + bytes4 sig; + uint256 valueLimit; + ParamRule[] rules; + Operation operation; +} + +struct ParamRule { + uint256 offset; + ParamCondition condition; + bytes32 param; +} + +contract MerklePolicy is IPolicy { + error MerklePolicyError(uint256 code); // todo: should policy revert instead of returning SIG_VALIDATION_FAILED? + + mapping(address permissionValidator => mapping(bytes32 => mapping(address => bytes32))) public merkleRoot; + + function registerPolicy(address kernel, bytes32 permissionId, bytes calldata policyData) external payable { + bytes32 root = bytes32(policyData[0:32]); + merkleRoot[msg.sender][permissionId][kernel] = root; + } + + function checkUserOpPolicy( + address kernel, + bytes32 permissionId, + UserOperation calldata userOp, + bytes calldata proof + ) external payable returns (ValidationData) { + bytes calldata callData = userOp.callData; + bytes32 root = merkleRoot[msg.sender][permissionId][kernel]; + bytes4 sig = bytes4(callData[0:4]); + if (sig == Kernel.execute.selector || sig == Kernel.executeDelegateCall.selector) { + (Permission calldata permission, bytes32[] calldata merkleProof) = _getPermission(proof); + bool verifyFailed = _verifyParam(root, callData, permission, merkleProof); + if (verifyFailed) { + revert MerklePolicyError(1); // merkle proof verification failed + } + return ValidationData.wrap(0); + } else if (sig == Kernel.executeBatch.selector) { + Permission[] calldata permissions = _getPermissions(proof); + bytes32[][] calldata merkleProof = _getProofs(proof); + bool verifyFailed = _verifyParams(root, callData, permissions, merkleProof); + if (verifyFailed) { + revert MerklePolicyError(1); // merkle proof verification failed + } + return ValidationData.wrap(0); + } else { + revert MerklePolicyError(0); // unknown selector + } + } + + function _verifyParams( + bytes32 root, + bytes calldata callData, + Permission[] calldata _permissions, + bytes32[][] calldata _merkleProof + ) internal pure returns (bool verifyFailed) { + Call[] calldata calls; + assembly { + calls.offset := add(add(callData.offset, 0x24), calldataload(add(callData.offset, 4))) + calls.length := calldataload(add(add(callData.offset, 4), calldataload(add(callData.offset, 4)))) + } + uint256 i = 0; + for (i = 0; i < calls.length; i++) { + Call calldata call = calls[i]; + Permission calldata permission = _permissions[i]; + require( + permission.target == address(0) || call.to == permission.target, "SessionKeyValidator: target mismatch" + ); + require(uint256(bytes32(call.value)) <= permission.valueLimit, "SessionKeyValidator: value limit exceeded"); + require(verifyPermission(call.data, permission), "SessionKeyValidator: permission verification failed"); + if (!MerkleProofLib.verify(_merkleProof[i], root, keccak256(abi.encode(permission)))) { + return true; + } + } + } + + // to parse batch execute permissions + function _getPermissions(bytes calldata _sig) internal pure returns (Permission[] calldata permissions) { + assembly { + permissions.offset := add(add(_sig.offset, 0x20), calldataload(_sig.offset)) + permissions.length := calldataload(add(_sig.offset, calldataload(_sig.offset))) + } + } + + function _getProofs(bytes calldata _sig) internal pure returns (bytes32[][] calldata proofs) { + assembly { + proofs.length := calldataload(add(_sig.offset, calldataload(add(_sig.offset, 0x20)))) + proofs.offset := add(add(_sig.offset, 0x20), calldataload(add(_sig.offset, 0x20))) + } + } + + // to parse single execute permission + function _getPermission(bytes calldata _sig) + internal + pure + returns (Permission calldata permission, bytes32[] calldata merkleProof) + { + assembly { + permission := add(_sig.offset, calldataload(_sig.offset)) + merkleProof.length := calldataload(add(_sig.offset, calldataload(add(_sig.offset, 0x20)))) + merkleProof.offset := add(add(_sig.offset, 0x20), calldataload(add(_sig.offset, 0x20))) + } + } + + function _verifyParam( + bytes32 root, + bytes calldata callData, + Permission calldata _permission, + bytes32[] calldata _merkleProof + ) internal pure returns (bool verifyFailed) { + bool isExecute = bytes4(callData[0:4]) == Kernel.execute.selector; + require( + _permission.target == address(0) || address(bytes20(callData[16:36])) == _permission.target, + "SessionKeyValidator: target mismatch" + ); + if (isExecute) { + require( + uint256(bytes32(callData[36:68])) <= _permission.valueLimit, "SessionKeyValidator: value limit exceeded" + ); + } else { + require(_permission.operation == Operation.DelegateCall, "SessionKeyValidator: operation mismatch"); + } + bytes calldata data; + uint8 dataParamOffset = isExecute ? 0x44 : 0x24; + assembly { + let dataOffset := add(add(callData.offset, 0x04), calldataload(add(callData.offset, dataParamOffset))) + let length := calldataload(dataOffset) + data.offset := add(dataOffset, 32) + data.length := length + } + require(verifyPermission(data, _permission), "SessionKeyValidator: permission verification failed"); + if (!MerkleProofLib.verify(_merkleProof, root, keccak256(abi.encode(_permission)))) { + return true; + } + } + + function verifyPermission(bytes calldata data, Permission calldata permission) internal pure returns (bool) { + if (bytes4(data[0:4]) != permission.sig) return false; + for (uint256 i = 0; i < permission.rules.length; i++) { + ParamRule calldata rule = permission.rules[i]; + bytes32 param = bytes32(data[4 + rule.offset:4 + rule.offset + 32]); + if (rule.condition == ParamCondition.EQUAL && param != rule.param) { + return false; + } else if (rule.condition == ParamCondition.GREATER_THAN && param <= rule.param) { + return false; + } else if (rule.condition == ParamCondition.LESS_THAN && param >= rule.param) { + return false; + } else if (rule.condition == ParamCondition.GREATER_THAN_OR_EQUAL && param < rule.param) { + return false; + } else if (rule.condition == ParamCondition.LESS_THAN_OR_EQUAL && param > rule.param) { + return false; + } else if (rule.condition == ParamCondition.NOT_EQUAL && param == rule.param) { + return false; + } + } + return true; + } + + function validateSignature( + address kernel, + address caller, + bytes32 permissionId, + bytes32 messageHash, + bytes32 rawHash, + bytes calldata signature + ) external view returns (ValidationData) { + return ValidationData.wrap(0); + } +} diff --git a/src/validator/modularPermission/policies/SignaturePolicy.sol b/src/validator/modularPermission/policies/SignaturePolicy.sol new file mode 100644 index 00000000..c4f1b16c --- /dev/null +++ b/src/validator/modularPermission/policies/SignaturePolicy.sol @@ -0,0 +1,45 @@ +pragma solidity ^0.8.0; + +import "../IPolicy.sol"; + +contract SignaturePolicy is IPolicy { + mapping( + address permissionValidator + => mapping(bytes32 permissionId => mapping(address requestor => mapping(address kernel => bool))) + ) public allowedRequestor; + + function registerPolicy(address kernel, bytes32 permissionId, bytes calldata policyData) external payable { + address[] memory callers = abi.decode(policyData, (address[])); + for (uint256 i = 0; i < callers.length; i++) { + if (callers[i] == address(0)) { + allowedRequestor[msg.sender][permissionId][kernel][kernel] = true; + } else { + allowedRequestor[msg.sender][permissionId][callers[i]][kernel] = true; + } + } + } + + function checkUserOpPolicy( + address kernel, + bytes32 permissionId, + UserOperation calldata userOp, + bytes calldata policyProof + ) external payable override returns (ValidationData) { + // do nothing on userOp validation + return ValidationData.wrap(0); + } + + function validateSignature( + address kernel, + address caller, + bytes32 permissionId, + bytes32 messageHash, + bytes32 rawHash, + bytes calldata signature + ) external view override returns (ValidationData) { + if (allowedRequestor[msg.sender][permissionId][caller][kernel]) { + return ValidationData.wrap(0); + } + return SIG_VALIDATION_FAILED; + } +} diff --git a/src/validator/modularPermission/policies/SudoPolicy.sol b/src/validator/modularPermission/policies/SudoPolicy.sol new file mode 100644 index 00000000..f3125de6 --- /dev/null +++ b/src/validator/modularPermission/policies/SudoPolicy.sol @@ -0,0 +1,29 @@ +pragma solidity ^0.8.0; + +import {UserOperation} from "I4337/interfaces/UserOperation.sol"; +import {ValidationData} from "src/common/Types.sol"; +import {IPolicy} from "../IPolicy.sol"; + +contract SudoPolicy is IPolicy { + function registerPolicy(address kernel, bytes32 permissionId, bytes calldata data) external payable override {} + + function checkUserOpPolicy(address kernel, bytes32 permissionId, UserOperation calldata userOp, bytes calldata) + external + payable + override + returns (ValidationData) + { + return ValidationData.wrap(0); + } + + function validateSignature( + address kernel, + address caller, + bytes32 permissionId, + bytes32 messageHash, + bytes32 rawHash, + bytes calldata signature + ) external view override returns (ValidationData) { + return ValidationData.wrap(0); + } +} diff --git a/src/validator/modularPermission/signers/ECDSASigner.sol b/src/validator/modularPermission/signers/ECDSASigner.sol new file mode 100644 index 00000000..f617b9d8 --- /dev/null +++ b/src/validator/modularPermission/signers/ECDSASigner.sol @@ -0,0 +1,52 @@ +pragma solidity ^0.8.0; + +import {ECDSA} from "solady/utils/ECDSA.sol"; +import {ISigner} from "../ISigner.sol"; +import {ValidationData} from "../../../common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "../../../common/Constants.sol"; + +contract ECDSASigner is ISigner { + using ECDSA for bytes32; + + mapping(address caller => mapping(bytes32 permissionId => mapping(address kernel => address))) public signer; + + function registerSigner(address kernel, bytes32 permissionId, bytes calldata data) external payable override { + require(signer[msg.sender][permissionId][kernel] == address(0), "ECDSASigner: kernel already registered"); + require(data.length == 20, "ECDSASigner: invalid signer address"); + address signerAddress = address(bytes20(data[0:20])); + signer[msg.sender][permissionId][kernel] = signerAddress; + } + + function validateUserOp(address kernel, bytes32 permissionId, bytes32 userOpHash, bytes calldata signature) + external + payable + override + returns (ValidationData) + { + require(signer[msg.sender][permissionId][kernel] != address(0), "ECDSASigner: kernel not registered"); + address recovered = ECDSA.toEthSignedMessageHash(userOpHash).recover(signature); + if (recovered == signer[msg.sender][permissionId][kernel]) { + return ValidationData.wrap(0); + } + return SIG_VALIDATION_FAILED; + } + + function validateSignature(address kernel, bytes32 permissionId, bytes32 messageHash, bytes calldata signature) + external + view + override + returns (ValidationData) + { + address signerAddress = signer[msg.sender][permissionId][kernel]; + require(signerAddress != address(0), "ECDSASigner: kernel not registered"); + if (messageHash.recover(signature) == signerAddress) { + return ValidationData.wrap(0); + } + bytes32 ethHash = ECDSA.toEthSignedMessageHash(messageHash); + address recovered = ethHash.recover(signature); + if (recovered == signerAddress) { + return ValidationData.wrap(0); + } + return SIG_VALIDATION_FAILED; + } +} diff --git a/src/validator/modularPermission/signers/WebAuthnSigner.sol b/src/validator/modularPermission/signers/WebAuthnSigner.sol new file mode 100644 index 00000000..011088fe --- /dev/null +++ b/src/validator/modularPermission/signers/WebAuthnSigner.sol @@ -0,0 +1,82 @@ +pragma solidity ^0.8.0; + +import {WebAuthn} from "p256-verifier/WebAuthn.sol"; +import {ISigner} from "../ISigner.sol"; +import {ValidationData} from "../../../common/Types.sol"; +import {SIG_VALIDATION_FAILED} from "../../../common/Constants.sol"; + +struct WebAuthnValidatorData { + uint256 x; + uint256 y; +} + +contract WebAuthnSigner is ISigner { + mapping(address caller => mapping(bytes32 permissionId => mapping(address kernel => WebAuthnValidatorData))) public + webAuthnValidatorStorage; + + function registerSigner(address kernel, bytes32 permissionId, bytes calldata data) external payable override { + WebAuthnValidatorData memory pubKey = abi.decode(data, (WebAuthnValidatorData)); + require( + webAuthnValidatorStorage[msg.sender][permissionId][kernel].x == 0 + && webAuthnValidatorStorage[msg.sender][permissionId][kernel].y == 0, + "WebAuthnSigner: kernel already registered" + ); + require(pubKey.x != 0 && pubKey.y != 0, "WebAuthnSigner: invalid public key"); + webAuthnValidatorStorage[msg.sender][permissionId][kernel] = pubKey; + } + + function validateUserOp(address kernel, bytes32 permissionId, bytes32 userOpHash, bytes calldata signature) + external + payable + override + returns (ValidationData) + { + return _verifySignature(kernel, permissionId, userOpHash, signature); + } + + function validateSignature(address kernel, bytes32 permissionId, bytes32 messageHash, bytes calldata signature) + external + view + override + returns (ValidationData) + { + return _verifySignature(kernel, permissionId, messageHash, signature); + } + + function _verifySignature(address sender, bytes32 permissionId, bytes32 hash, bytes calldata signature) + private + view + returns (ValidationData) + { + ( + bytes memory authenticatorData, + string memory clientDataJSON, + uint256 challengeLocation, + uint256 responseTypeLocation, + uint256 r, + uint256 s + ) = abi.decode(signature, (bytes, string, uint256, uint256, uint256, uint256)); + + WebAuthnValidatorData memory pubKey = webAuthnValidatorStorage[msg.sender][permissionId][sender]; + require(pubKey.x != 0 && pubKey.y != 0, "WebAuthnSigner: kernel not registered"); + + bool isValid = WebAuthn.verifySignature( + abi.encodePacked(hash), + authenticatorData, + true, // TODO: check if this needs to be true always + clientDataJSON, + challengeLocation, + responseTypeLocation, + r, + s, + pubKey.x, + pubKey.y + ); + + if (isValid) { + return ValidationData.wrap(0); + } + + return SIG_VALIDATION_FAILED; + } +} diff --git a/test/foundry/KernelECDSA.t.sol b/test/foundry/KernelECDSA.t.sol index 4ebe58ca..8322e9ad 100644 --- a/test/foundry/KernelECDSA.t.sol +++ b/test/foundry/KernelECDSA.t.sol @@ -78,8 +78,8 @@ contract KernelECDSATest is KernelTestBase { ) ); performUserOperationWithSig(op); - (address owner) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); - assertEq(owner, address(0xdeadbeef), "owner should be 0xdeadbeef"); + (address owner_) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); + assertEq(owner_, address(0xdeadbeef), "owner should be 0xdeadbeef"); } function test_default_validator_disable() external override { @@ -93,7 +93,7 @@ contract KernelECDSATest is KernelTestBase { ) ); performUserOperationWithSig(op); - (address owner) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); - assertEq(owner, address(0), "owner should be 0"); + (address owner_) = ECDSAValidator(address(defaultValidator)).ecdsaValidatorStorage(address(kernel)); + assertEq(owner_, address(0), "owner should be 0"); } } diff --git a/test/foundry/KernelHelper.t.sol b/test/foundry/KernelHelper.t.sol index 83c44a0c..7a3fca8e 100644 --- a/test/foundry/KernelHelper.t.sol +++ b/test/foundry/KernelHelper.t.sol @@ -27,4 +27,40 @@ contract KernelHelperTest is Test { ); assertEq(ValidationData.unwrap(c), ValidationData.unwrap(expected)); } + + function testIntersectWithAggregator( + address aggregatorA, + ValidAfter validAfterA, + ValidUntil validUntilA, + address aggregatorB, + ValidAfter validAfterB, + ValidUntil validUntilB + ) external { + if (ValidUntil.unwrap(validUntilB) == 0) { + validUntilB = ValidUntil.wrap(0xffffffffffff); + } + if (ValidUntil.unwrap(validUntilA) == 0) { + validUntilA = ValidUntil.wrap(0xffffffffffff); + } + ValidationData a = packValidationData(aggregatorA, validAfterA, validUntilA); + ValidationData b = packValidationData(aggregatorB, validAfterB, validUntilB); + ValidationData c = _intersectValidationData(a, b); + + address expectedAggregator = aggregatorA == address(0) + ? aggregatorB + : aggregatorA == aggregatorB || aggregatorB == address(0) ? aggregatorA : address(1); + console.log("expectedAggregator", expectedAggregator); + // a : b + // 0 : 0 => 0 + // 0 : 1 => 1 + // 1 : 0 => 1 + // 1 : 1 => 1 + // X : 0 => X + // X : 1 => 1 + // 0 : X => X + // 1 : X => 1 + (ValidAfter vf, ValidUntil vu, address res) = parseValidationData(c); + console.log("res", res); + assertEq(res, expectedAggregator); + } } diff --git a/test/foundry/validator/KernelECDSATyped.t.sol b/test/foundry/validator/KernelECDSATyped.t.sol index 4fd6bf44..905c7757 100644 --- a/test/foundry/validator/KernelECDSATyped.t.sol +++ b/test/foundry/validator/KernelECDSATyped.t.sol @@ -82,8 +82,8 @@ contract KernelECDSATypedTest is KernelTestBase { ) ); performUserOperationWithSig(op); - address owner = ecdsaTypedValidator.getOwner(address(kernel)); - assertEq(owner, address(0xdeadbeef), "owner should be 0xdeadbeef"); + address owner_ = ecdsaTypedValidator.getOwner(address(kernel)); + assertEq(owner_, address(0xdeadbeef), "owner should be 0xdeadbeef"); } function test_default_validator_disable() external override { @@ -97,8 +97,8 @@ contract KernelECDSATypedTest is KernelTestBase { ) ); performUserOperationWithSig(op); - address owner = ecdsaTypedValidator.getOwner(address(kernel)); - assertEq(owner, address(0), "owner should be 0"); + address owner_ = ecdsaTypedValidator.getOwner(address(kernel)); + assertEq(owner_, address(0), "owner should be 0"); } /* -------------------------------------------------------------------------- */ @@ -115,7 +115,7 @@ contract KernelECDSATypedTest is KernelTestBase { returns (bytes memory) { // Get the kernel private key owner address - address owner = vm.addr(_privateKey); + address owner_ = vm.addr(_privateKey); // Get the user op hash bytes32 userOpHash = _entryPoint.getUserOpHash(_op); @@ -124,7 +124,7 @@ contract KernelECDSATypedTest is KernelTestBase { bytes32 domainSeparator = ecdsaTypedValidator.getDomainSeperator(); bytes32 typedMsgHash = keccak256( abi.encodePacked( - "\x19\x01", domainSeparator, keccak256(abi.encode(USER_OP_TYPEHASH, owner, _op.sender, userOpHash)) + "\x19\x01", domainSeparator, keccak256(abi.encode(USER_OP_TYPEHASH, owner_, _op.sender, userOpHash)) ) ); (uint8 v, bytes32 r, bytes32 s) = vm.sign(_privateKey, typedMsgHash); diff --git a/test/foundry/validator/modularPermission/ModularPermission.t.sol b/test/foundry/validator/modularPermission/ModularPermission.t.sol new file mode 100644 index 00000000..4f90216d --- /dev/null +++ b/test/foundry/validator/modularPermission/ModularPermission.t.sol @@ -0,0 +1,729 @@ +pragma solidity ^0.8.0; + +import {IEntryPoint} from "I4337/interfaces/IEntryPoint.sol"; +import {IKernel} from "src/interfaces/IKernel.sol"; +import {Kernel} from "src/Kernel.sol"; +import {IKernelValidator} from "src/interfaces/IKernelValidator.sol"; +import {Operation} from "src/common/Enums.sol"; +import {toPermissionFlag} from "src/validator/modularPermission/PolicyConfig.sol"; +import "src/validator/modularPermission/ModularPermissionValidator.sol"; +import "src/validator/modularPermission/signers/ECDSASigner.sol"; +import "src/validator/modularPermission/mock/MockPolicy.sol"; +import "src/validator/modularPermission/mock/MockSigner.sol"; +import "src/validator/modularPermission/policies/EIP712Policy.sol"; +import "forge-std/Test.sol"; +import {KernelTestBase} from "src/utils/KernelTestBase.sol"; +import {TestExecutor} from "src/mock/TestExecutor.sol"; +import {TestValidator} from "src/mock/TestValidator.sol"; +import {KernelStorage} from "src/abstract/KernelStorage.sol"; +import {ERC4337Utils} from "src/utils/ERC4337Utils.sol"; +import {SignaturePolicy} from "src/validator/modularPermission/policies/SignaturePolicy.sol"; +import {EIP712} from "solady/utils/EIP712.sol"; +import {KERNEL_NAME, KERNEL_VERSION} from "src/common/Constants.sol"; + +using ERC4337Utils for IEntryPoint; + +contract ModularPermissionE2ETest is KernelTestBase { + ECDSASigner signer; + MockPolicy mockPolicy; + SignaturePolicy signaturePolicy; + address[] allowedCaller; + + function setUp() public virtual { + _initialize(); + defaultValidator = new ModularPermissionValidator(); + signer = new ECDSASigner(); + mockPolicy = new MockPolicy(); + signaturePolicy = new SignaturePolicy(); + allowedCaller = new address[](2); + allowedCaller[0] = makeAddr("app"); + allowedCaller[1] = address(0); + _setAddress(); + _setExecutionDetail(); + } + + function test_ignore() external {} + + function getPermissionId() internal view returns (bytes32) { + PolicyConfig[] memory p = new PolicyConfig[](2); + p[0] = PolicyConfigLib.pack(IPolicy(address(mockPolicy)), toFlag(0)); + p[1] = PolicyConfigLib.pack(IPolicy(address(signaturePolicy)), toFlag(1)); + bytes[] memory pd = new bytes[](2); + pd[0] = abi.encodePacked("policy data 1"); + pd[1] = abi.encode(allowedCaller); + + return ModularPermissionValidator(address(defaultValidator)).getPermissionId( + MAX_FLAG, signer, ValidAfter.wrap(0), ValidUntil.wrap(0), p, abi.encodePacked(owner), pd + ); + } + + function _setExecutionDetail() internal virtual override { + executionDetail.executor = address(new TestExecutor()); + executionSig = TestExecutor.doNothing.selector; + executionDetail.validator = new TestValidator(); + } + + function getEnableData() internal view virtual override returns (bytes memory) { + return ""; + } + + function getValidatorSignature(UserOperation memory) internal view virtual override returns (bytes memory) { + return ""; + } + + function getOwners() internal view override returns (address[] memory) { + address[] memory owners = new address[](1); + owners[0] = owner; + return owners; + } + + function getInitializeData() internal view override returns (bytes memory) { + bytes memory sd = abi.encodePacked(owner); + PolicyConfig[] memory p = new PolicyConfig[](2); + p[0] = PolicyConfigLib.pack(IPolicy(address(mockPolicy)), toFlag(0)); + p[1] = PolicyConfigLib.pack(IPolicy(address(signaturePolicy)), toFlag(1)); + bytes[] memory pd = new bytes[](2); + pd[0] = abi.encodePacked("policy data 1"); + pd[1] = abi.encode(allowedCaller); + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(0), // nonce + MAX_FLAG, + uint48(0), //`validAfter + uint48(0), // validUntil + address(signer) + ), // signer + abi.encode(p, sd, pd) + ); + + return abi.encodeWithSelector(KernelStorage.initialize.selector, defaultValidator, data); + } + + function signUserOp(UserOperation memory op) internal view override returns (bytes memory) { + return abi.encodePacked(bytes4(0x00000000), getPermissionId(), entryPoint.signUserOpHash(vm, ownerKey, op)); + } + + function getWrongSignature(UserOperation memory op) internal view override returns (bytes memory) { + return abi.encodePacked(bytes4(0x00000000), getPermissionId(), entryPoint.signUserOpHash(vm, ownerKey + 1, op)); + } + + function signHash(bytes32 hash) internal view override returns (bytes memory) { + (uint8 v, bytes32 r, bytes32 s) = vm.sign(ownerKey, hash); + return abi.encodePacked(getPermissionId(), r, s, v); + } + + function signHashWithoutPermissionId(bytes32 hash) internal view returns (bytes memory) { + (uint8 v, bytes32 r, bytes32 s) = vm.sign(ownerKey, hash); + return abi.encodePacked(r, s, v); + } + + function getWrongSignature(bytes32 hash) internal view override returns (bytes memory) { + (uint8 v, bytes32 r, bytes32 s) = vm.sign(ownerKey + 1, hash); + return abi.encodePacked(getPermissionId(), r, s, v); + } + + struct MData { + address kernel; + ValidUntil until; + bytes sd; + EIP712Policy eip712; + PolicyConfig[] p; + bytes32 domainSeparator; + bytes32 typeHash; + bytes32 encodeData; + bytes32 digest; + bytes[] pd; + } + + struct ModularPermissionConfig { + uint128 nonce; + bytes12 flag; + ISigner signer; + ValidAfter validAfter; + ValidUntil validUntil; + PolicyConfig firstPolicy; + } + + function test_sessionKey_signature() external { + MData memory d; + d.kernel = address(kernel); + d.until = ValidUntil.wrap(uint48(block.timestamp + 100)); + d.sd = abi.encodePacked(owner); + d.eip712 = new EIP712Policy(); + d.p = new PolicyConfig[](1); + d.p[0] = PolicyConfigLib.pack(d.eip712, toFlag(1)); // skip on userOp + + d.domainSeparator = keccak256("DOMAIN_SEPARATOR"); + d.typeHash = keccak256("TypeHash(bytes32 encodeData)"); + d.encodeData = bytes32(uint256(0xdeadbeef)); + d.digest = _hashTypedData(d.domainSeparator, keccak256(abi.encode(d.typeHash, d.encodeData))); + d.pd = new bytes[](1); + d.pd[0] = abi.encodePacked(d.domainSeparator, d.typeHash, bytes4(0), uint8(ParamRule.Equal), d.encodeData); + bytes32 permissionId = ModularPermissionValidator(address(defaultValidator)).getPermissionId( + toPermissionFlag(1), //flag + signer, + ValidAfter.wrap(1), + d.until, + d.p, + d.sd, + d.pd + ); + + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(1), // nonce + toPermissionFlag(1), //flag + uint48(1), //`validAfter + d.until, // validUntil + address(signer) + ), // signer + abi.encode(d.p, d.sd, d.pd) + ); + vm.startPrank(d.kernel); + defaultValidator.enable(data); + vm.stopPrank(); + ModularPermissionConfig memory config; + + (config.nonce, config.flag, config.signer, config.firstPolicy, config.validAfter, config.validUntil) = + ModularPermissionValidator(address(defaultValidator)).permissions(permissionId, d.kernel); + assertEq(config.nonce, uint128(1)); + assertEq(config.flag, toPermissionFlag(1)); + assertEq(ValidAfter.unwrap(config.validAfter), uint48(1)); + assertEq(ValidUntil.unwrap(config.validUntil), ValidUntil.unwrap(d.until)); + assertEq(address(config.signer), address(signer)); + bytes32 wrappedDigest = keccak256( + abi.encodePacked( + "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), d.digest + ) + ); + + bytes4 res = kernel.isValidSignature( + d.digest, + abi.encodePacked( + permissionId, + d.eip712, + uint256(100), + d.domainSeparator, + d.typeHash, + uint32(1), + uint256(d.encodeData), // you should put all data here + signHashWithoutPermissionId(wrappedDigest) + ) + ); + assertEq(res, Kernel.isValidSignature.selector); + } + + function test_sessionKey_signature_greater_than() external { + MData memory d; + d.kernel = address(kernel); + d.until = ValidUntil.wrap(uint48(block.timestamp + 100)); + d.sd = abi.encodePacked(owner); + d.eip712 = new EIP712Policy(); + d.p = new PolicyConfig[](1); + d.p[0] = PolicyConfigLib.pack(d.eip712, toFlag(1)); // skip on userOp + + d.domainSeparator = keccak256("DOMAIN_SEPARATOR"); + d.typeHash = keccak256("TypeHash(bytes32 encodeData)"); + d.encodeData = bytes32(uint256(0xdeadbeef)); + d.digest = _hashTypedData(d.domainSeparator, keccak256(abi.encode(d.typeHash, uint256(d.encodeData) + 1))); + d.pd = new bytes[](1); + d.pd[0] = abi.encodePacked(d.domainSeparator, d.typeHash, bytes4(0), uint8(ParamRule.GreaterThan), d.encodeData); + bytes32 permissionId = ModularPermissionValidator(address(defaultValidator)).getPermissionId( + toPermissionFlag(1), //flag + signer, + ValidAfter.wrap(1), + d.until, + d.p, + d.sd, + d.pd + ); + + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(1), // nonce + toPermissionFlag(1), //flag + uint48(1), //`validAfter + d.until, // validUntil + address(signer) + ), // signer + abi.encode(d.p, d.sd, d.pd) + ); + vm.startPrank(d.kernel); + defaultValidator.enable(data); + vm.stopPrank(); + ModularPermissionConfig memory config; + + (config.nonce, config.flag, config.signer, config.firstPolicy, config.validAfter, config.validUntil) = + ModularPermissionValidator(address(defaultValidator)).permissions(permissionId, d.kernel); + assertEq(config.nonce, uint128(1)); + assertEq(config.flag, toPermissionFlag(1)); + assertEq(ValidAfter.unwrap(config.validAfter), uint48(1)); + assertEq(ValidUntil.unwrap(config.validUntil), ValidUntil.unwrap(d.until)); + assertEq(address(config.signer), address(signer)); + bytes32 wrappedDigest = keccak256( + abi.encodePacked( + "\x19\x01", ERC4337Utils._buildDomainSeparator(KERNEL_NAME, KERNEL_VERSION, address(kernel)), d.digest + ) + ); + + bytes4 res = kernel.isValidSignature( + d.digest, + abi.encodePacked( + permissionId, + d.eip712, + uint256(100), + d.domainSeparator, + d.typeHash, + uint32(1), + uint256(d.encodeData) + 1, // you should put all data here + signHashWithoutPermissionId(wrappedDigest) + ) + ); + assertEq(res, Kernel.isValidSignature.selector); + } + + function test_default_validator_enable() external override { + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(defaultValidator), + 0, + abi.encodeWithSelector(IKernelValidator.enable.selector, abi.encodePacked(address(0xdeadbeef))), + Operation.Call + ) + ); + bytes memory sd = abi.encodePacked(owner); + PolicyConfig[] memory p = new PolicyConfig[](1); + p[0] = PolicyConfigLib.pack(IPolicy(address(mockPolicy)), toFlag(0)); + bytes[] memory pd = new bytes[](1); + pd[0] = abi.encodePacked("policy data 2"); + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(0), // nonce + MAX_FLAG, //flag + uint48(0), //`validAfter + uint48(0), // validUntil + address(signer) + ), // signer + abi.encode(p, sd, pd) + ); + performUserOperationWithSig(op); + } + + function test_default_validator_disable() external override { + UserOperation memory op = buildUserOperation( + abi.encodeWithSelector( + IKernel.execute.selector, + address(defaultValidator), + 0, + abi.encodeWithSelector(IKernelValidator.disable.selector, abi.encodePacked(getPermissionId())), + Operation.Call + ) + ); + performUserOperationWithSig(op); + } + + function test_external_call_execute_success() external override { + vm.skip(true); + } + + function test_external_call_default() external override { + vm.skip(true); + } + + function test_external_call_execute_delegatecall_success() external override { + vm.skip(true); + } + + function test_external_call_batch_execute_success() external override { + vm.skip(true); + } + + function test_external_call_execution() external override { + vm.skip(true); + } +} + +contract ModularPermissionUnitTest is Test { + ModularPermissionValidator validator; + + MockSigner mockSigner; + MockPolicy mockPolicy; + + function setUp() external { + validator = new ModularPermissionValidator(); + mockPolicy = new MockPolicy(); + mockSigner = new MockSigner(); + } + + function testParseData() external { + uint48 until = uint48(block.timestamp + 100); + bytes memory sd = abi.encodePacked("hello world"); + PolicyConfig[] memory p = new PolicyConfig[](2); + p[0] = PolicyConfigLib.pack(IPolicy(address(0xdeadbeef)), toFlag(0)); + p[1] = PolicyConfigLib.pack(IPolicy(address(0xcafecafe)), toFlag(0)); + bytes[] memory pd = new bytes[](2); + pd[0] = abi.encodePacked("policy data 1"); + pd[1] = abi.encodePacked("policy data 2"); + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(0), // nonce + MAX_FLAG, //flag + uint48(1), //`validAfter + until, // validUntil + address(0xdead) + ), // signer + abi.encode(p, sd, pd) + ); + ( + uint128 nonce, + bytes12 flag, + ISigner signer, + ValidAfter validAfter, + ValidUntil validUntil, + PolicyConfig[] memory policies, + bytes memory signerData, + bytes[] memory policyData + ) = validator.parseData(data); + assertEq(nonce, uint128(0)); + assertEq(flag, MAX_FLAG); + assertEq(ValidAfter.unwrap(validAfter), uint48(1)); + assertEq(ValidUntil.unwrap(validUntil), until); + assertEq(address(signer), address(0xdead)); + assertEq(address(PolicyConfigLib.getAddress(policies[0])), address(0xdeadbeef)); + assertEq(address(PolicyConfigLib.getAddress(policies[1])), address(0xcafecafe)); + assertEq(signerData, abi.encodePacked("hello world")); + assertEq(policyData[0], abi.encodePacked("policy data 1")); + assertEq(policyData[1], abi.encodePacked("policy data 2")); + } + + function testRegister() external { + uint48 until = uint48(block.timestamp + 100); + bytes memory sd = abi.encodePacked("hello signer"); + PolicyConfig[] memory p = new PolicyConfig[](1); + p[0] = PolicyConfigLib.pack(IPolicy(address(mockPolicy)), toFlag(0)); + bytes[] memory pd = new bytes[](1); + pd[0] = abi.encodePacked("hello policy"); + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(0), // nonce + MAX_FLAG, //flag + uint48(1), //`validAfter + until, // validUntil + address(mockSigner) + ), // signer + abi.encode(p, sd, pd) + ); + validator.enable(data); + } + + struct ModularPermissionConfig { + uint128 nonce; + bytes12 flag; + ISigner signer; + ValidAfter validAfter; + ValidUntil validUntil; + PolicyConfig firstPolicy; + } + + function testValidateUserOpSkip() external { + address kernel = makeAddr("Kernel"); + ValidUntil until = ValidUntil.wrap(uint48(block.timestamp + 100)); + bytes memory sd = abi.encodePacked("hello signer"); + MockPolicy skipPolicy = new MockPolicy(); + PolicyConfig[] memory p = new PolicyConfig[](2); + p[0] = PolicyConfigLib.pack(mockPolicy, toFlag(0)); + p[1] = PolicyConfigLib.pack(skipPolicy, toFlag(1)); // skip + + bytes[] memory pd = new bytes[](2); + pd[0] = abi.encodePacked("hello policy"); + pd[1] = abi.encodePacked("hello policy 2"); + bytes32 permissionId = validator.getPermissionId( + toPermissionFlag(0), //flag + mockSigner, + ValidAfter.wrap(1), + until, + p, + sd, + pd + ); + + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(0), // nonce + toPermissionFlag(0), //flag + uint48(1), //`validAfter + until, // validUntil + address(mockSigner) + ), // signer + abi.encode(p, sd, pd) + ); + vm.startPrank(kernel); + validator.enable(data); + vm.stopPrank(); + + ModularPermissionConfig memory config; + + (config.nonce, config.flag, config.signer, config.firstPolicy, config.validAfter, config.validUntil) = + validator.permissions(permissionId, kernel); + assertEq(config.nonce, uint128(0)); + assertEq(config.flag, toPermissionFlag(0)); + assertEq(ValidAfter.unwrap(config.validAfter), uint48(1)); + assertEq(ValidUntil.unwrap(config.validUntil), ValidUntil.unwrap(until)); + assertEq(address(config.signer), address(mockSigner)); + assertEq(address(PolicyConfigLib.getAddress(config.firstPolicy)), address(mockPolicy)); + + assertEq(mockSigner.signerData(), sd); + assertEq(mockPolicy.policyData(), pd[0]); + UserOperation memory op; + op.sender = kernel; + op.signature = abi.encodePacked(permissionId); + vm.startPrank(kernel); + validator.validateUserOp(op, keccak256(abi.encodePacked("hello")), 0); + vm.stopPrank(); + + assertEq(mockSigner.count(permissionId), 1); + assertEq(mockPolicy.count(permissionId), 1); + assertEq(skipPolicy.count(permissionId), 0); + } + + struct MData { + address kernel; + ValidUntil until; + bytes sd; + EIP712Policy eip712; + PolicyConfig[] p; + bytes32 domainSeparator; + bytes32 typeHash; + bytes32 encodeData; + bytes32 digest; + bytes[] pd; + } + + function testValidateSignature() external { + MData memory d; + d.kernel = makeAddr("Kernel"); + d.until = ValidUntil.wrap(uint48(block.timestamp + 100)); + d.sd = abi.encodePacked("hello signer"); + d.eip712 = new EIP712Policy(); + d.p = new PolicyConfig[](1); + d.p[0] = PolicyConfigLib.pack(d.eip712, toFlag(1)); // skip on userOp + + d.domainSeparator = keccak256("DOMAIN_SEPARATOR"); + d.typeHash = keccak256("TypeHash(bytes32 encodeData)"); + d.encodeData = bytes32(uint256(0xdeadbeef)); + d.digest = _hashTypedData(d.domainSeparator, keccak256(abi.encode(d.typeHash, d.encodeData))); + d.pd = new bytes[](1); + d.pd[0] = abi.encodePacked(d.domainSeparator, d.typeHash, bytes4(0), uint8(ParamRule.Equal), d.encodeData); + bytes32 permissionId = validator.getPermissionId( + toPermissionFlag(1), //flag + mockSigner, + ValidAfter.wrap(1), + d.until, + d.p, + d.sd, + d.pd + ); + + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(0), // nonce + toPermissionFlag(1), //flag + uint48(1), //`validAfter + d.until, // validUntil + address(mockSigner) + ), // signer + abi.encode(d.p, d.sd, d.pd) + ); + vm.startPrank(d.kernel); + validator.enable(data); + vm.stopPrank(); + + ModularPermissionConfig memory config; + + (config.nonce, config.flag, config.signer, config.firstPolicy, config.validAfter, config.validUntil) = + validator.permissions(permissionId, d.kernel); + assertEq(config.nonce, uint128(0)); + assertEq(config.flag, toPermissionFlag(1)); + assertEq(ValidAfter.unwrap(config.validAfter), uint48(1)); + assertEq(ValidUntil.unwrap(config.validUntil), ValidUntil.unwrap(d.until)); + assertEq(address(config.signer), address(mockSigner)); + + UserOperation memory op; + op.sender = d.kernel; + op.signature = abi.encodePacked(permissionId); + vm.startPrank(d.kernel); + (bool success, bytes memory ret) = address(validator).call( + abi.encodePacked( + abi.encodeWithSelector( + ModularPermissionValidator.validateSignature.selector, + d.digest, + abi.encodePacked( + permissionId, d.eip712, uint256(100), d.domainSeparator, d.typeHash, uint32(1), d.encodeData + ) + ), + d.digest, + makeAddr("app") + ) + ); + require(address(uint160(bytes20(bytes32(ret) << 96))) == address(0)); + require(success); + vm.stopPrank(); + vm.startPrank(d.kernel); + d.digest = _hashTypedData(d.domainSeparator, keccak256(abi.encode(d.typeHash, uint256(d.encodeData) + 1))); + (success, ret) = address(validator).call( + abi.encodePacked( + abi.encodeWithSelector( + ModularPermissionValidator.validateSignature.selector, + d.digest, + abi.encodePacked( + permissionId, + d.eip712, + uint256(100), + d.domainSeparator, + d.typeHash, + uint32(1), + uint256(d.encodeData) + 1 + ) + ), + d.digest, + makeAddr("app") + ) + ); + require(address(uint160(bytes20(bytes32(ret) << 96))) == address(1)); + require(success); + vm.stopPrank(); + } + + function testValidateSignatureSkip() external { + address kernel = makeAddr("Kernel"); + ValidUntil until = ValidUntil.wrap(uint48(block.timestamp + 100)); + bytes memory sd = abi.encodePacked("hello signer"); + MockPolicy skipPolicy = new MockPolicy(); + PolicyConfig[] memory p = new PolicyConfig[](2); + p[0] = PolicyConfigLib.pack(mockPolicy, toFlag(0)); + p[1] = PolicyConfigLib.pack(skipPolicy, toFlag(2)); // skip on signature + skipPolicy.mock(0, 0, true, true); + + bytes[] memory pd = new bytes[](2); + pd[0] = abi.encodePacked("hello policy"); + pd[1] = abi.encodePacked("hello policy 2"); + bytes32 permissionId = validator.getPermissionId( + MAX_FLAG, //flag + mockSigner, + ValidAfter.wrap(1), + until, + p, + sd, + pd + ); + + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(0), // nonce + MAX_FLAG, //flag + uint48(1), //`validAfter + until, // validUntil + address(mockSigner) + ), // signer + abi.encode(p, sd, pd) + ); + vm.startPrank(kernel); + validator.enable(data); + vm.stopPrank(); + + ModularPermissionConfig memory config; + + (config.nonce, config.flag, config.signer, config.firstPolicy, config.validAfter, config.validUntil) = + validator.permissions(permissionId, kernel); + assertEq(config.nonce, uint128(0)); + assertEq(config.flag, MAX_FLAG); + assertEq(ValidAfter.unwrap(config.validAfter), uint48(1)); + assertEq(ValidUntil.unwrap(config.validUntil), ValidUntil.unwrap(until)); + assertEq(address(config.signer), address(mockSigner)); + assertEq(address(PolicyConfigLib.getAddress(config.firstPolicy)), address(mockPolicy)); + + assertEq(mockSigner.signerData(), sd); + assertEq(mockPolicy.policyData(), pd[0]); + UserOperation memory op; + op.sender = kernel; + op.signature = abi.encodePacked(permissionId); + vm.startPrank(kernel); + vm.expectRevert(); + validator.validateSignature(keccak256(abi.encodePacked("hello")), ""); + vm.stopPrank(); + } + + function testValidateUserOp() external { + address kernel = makeAddr("Kernel"); + ValidUntil until = ValidUntil.wrap(uint48(block.timestamp + 100)); + bytes memory sd = abi.encodePacked("hello signer"); + PolicyConfig[] memory p = new PolicyConfig[](1); + p[0] = PolicyConfigLib.pack(mockPolicy, toFlag(0)); + bytes[] memory pd = new bytes[](1); + pd[0] = abi.encodePacked("hello policy"); + bytes32 permissionId = validator.getPermissionId( + MAX_FLAG, //flag + mockSigner, + ValidAfter.wrap(1), + until, + p, + sd, + pd + ); + + bytes memory data = abi.encodePacked( + abi.encodePacked( + uint128(0), // nonce + MAX_FLAG, //flag + uint48(1), //`validAfter + until, // validUntil + address(mockSigner) + ), // signer + abi.encode(p, sd, pd) + ); + vm.startPrank(kernel); + validator.enable(data); + vm.stopPrank(); + + ( + uint128 nonce, + bytes12 flag, + ISigner signer, + PolicyConfig firstPolicy, + ValidAfter validAfter, + ValidUntil validUntil + ) = validator.permissions(permissionId, kernel); + assertEq(nonce, uint128(0)); + assertEq(flag, MAX_FLAG); + assertEq(ValidAfter.unwrap(validAfter), uint48(1)); + assertEq(ValidUntil.unwrap(validUntil), ValidUntil.unwrap(until)); + assertEq(address(signer), address(mockSigner)); + assertEq(address(PolicyConfigLib.getAddress(firstPolicy)), address(mockPolicy)); + + assertEq(mockSigner.signerData(), sd); + assertEq(mockPolicy.policyData(), pd[0]); + UserOperation memory op; + op.sender = kernel; + op.signature = abi.encodePacked(permissionId); + vm.startPrank(kernel); + validator.validateUserOp(op, keccak256(abi.encodePacked("hello")), 0); + vm.stopPrank(); + + assertEq(mockSigner.count(permissionId), 1); + assertEq(mockPolicy.count(permissionId), 1); + } +} + +function _hashTypedData(bytes32 domain, bytes32 structHash) pure returns (bytes32 digest) { + /// @solidity memory-safe-assembly + assembly { + // Compute the digest. + mstore(0x00, 0x1901000000000000) // Store "\x19\x01". + mstore(0x1a, domain) // Store the domain separator. + mstore(0x3a, structHash) // Store the struct hash. + digest := keccak256(0x18, 0x42) + // Restore the part of the free memory slot that was overwritten. + mstore(0x3a, 0) + } +} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index 574e785c..00000000 --- a/tsconfig.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "target": "es2020", - "module": "commonjs", - "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, - "strict": true, - "skipLibCheck": true, - "resolveJsonModule": true - } -} From e7472a8cf2a7f4db41300532037ebc9be3dbac76 Mon Sep 17 00:00:00 2001 From: taek Date: Thu, 22 Feb 2024 15:15:26 +0900 Subject: [PATCH 47/51] Fix/execute batch (#85) * fixed execute batch with long return value * added testcase * bumped version to 2.4 --- src/Kernel.sol | 6 ++++-- src/common/Constants.sol | 2 +- src/mock/TestCallee.sol | 21 +++++++++++++++++++++ src/utils/KernelTestBase.sol | 19 ++++++++++++++++++- 4 files changed, 44 insertions(+), 4 deletions(-) diff --git a/src/Kernel.sol b/src/Kernel.sol index f2e7c2ba..55d5d658 100644 --- a/src/Kernel.sol +++ b/src/Kernel.sol @@ -108,9 +108,11 @@ contract Kernel is EIP712, Compatibility, KernelStorage { bytes memory data = call.data; assembly { let success := call(gas(), to, value, add(data, 0x20), mload(data), 0, 0) - returndatacopy(0, 0, returndatasize()) switch success - case 0 { revert(0, returndatasize()) } + case 0 { + returndatacopy(0, 0, returndatasize()) + revert(0, returndatasize()) + } default { i := add(i, 1) } } } diff --git a/src/common/Constants.sol b/src/common/Constants.sol index b69cb162..a8de9076 100644 --- a/src/common/Constants.sol +++ b/src/common/Constants.sol @@ -4,7 +4,7 @@ import {ValidationData} from "./Types.sol"; // Constants for kernel metadata string constant KERNEL_NAME = "Kernel"; -string constant KERNEL_VERSION = "0.2.3"; +string constant KERNEL_VERSION = "0.2.4"; // ERC4337 constants uint256 constant SIG_VALIDATION_FAILED_UINT = 1; diff --git a/src/mock/TestCallee.sol b/src/mock/TestCallee.sol index d3528a9f..d23830f2 100644 --- a/src/mock/TestCallee.sol +++ b/src/mock/TestCallee.sol @@ -2,6 +2,17 @@ pragma solidity ^0.8.0; contract TestCallee { uint256 public result; + address public caller; + uint256 public sent; + bytes public message; + + receive() external payable {} + + fallback() external payable { + message = msg.data; + sent = msg.value; + caller = msg.sender; + } function test_ignore() external {} @@ -14,5 +25,15 @@ contract TestCallee { require(success, string(data)); } + function returnLong() external payable returns (string memory) { + return + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent nec nunc sed nisi sollicitudin suscipit at at nulla. Aenean porttitor tellus felis, dapibus lacinia elit ullamcorper id. Ut dapibus efficitur neque posuere varius. Aenean in sem ac dolor accumsan egestas ut sit amet arcu. Vestibulum nunc urna, imperdiet ut enim eu, venenatis placerat mi. Aliquam a nibh a augue sollicitudin rutrum. Donec eleifend semper elit eu facilisis."; + } + + function returnLongBytes() external payable returns (bytes memory) { + return + hex"0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"; + } + function notThis() external {} } diff --git a/src/utils/KernelTestBase.sol b/src/utils/KernelTestBase.sol index 6c48b09f..04d62eb2 100644 --- a/src/utils/KernelTestBase.sol +++ b/src/utils/KernelTestBase.sol @@ -24,6 +24,7 @@ import {TestValidator} from "../mock/TestValidator.sol"; import {TestExecutor} from "../mock/TestExecutor.sol"; import {TestERC721} from "../mock/TestERC721.sol"; import {TestERC1155} from "../mock/TestERC1155.sol"; +import {TestCallee} from "../mock/TestCallee.sol"; using ERC4337Utils for IEntryPoint; @@ -135,8 +136,24 @@ abstract contract KernelTestBase is Test { } function test_external_call_batch_execute_success() external virtual { - Call[] memory calls = new Call[](1); + TestCallee callee = new TestCallee(); + Call[] memory calls = new Call[](3); calls[0] = Call(owner, 0, ""); + calls[1] = Call(address(callee), 0, abi.encodeWithSelector(callee.returnLong.selector)); + calls[2] = Call(address(callee), 0, abi.encode("HelloWorld")); + vm.prank(owner); + kernel.executeBatch(calls); + assertEq(callee.caller(), address(kernel)); + assertEq(callee.sent(), 0); + assertEq(keccak256(callee.message()), keccak256(abi.encode("HelloWorld"))); + calls = new Call[](3); + calls[0] = Call(owner, 0, ""); + calls[1] = Call(address(callee), 0, abi.encodeWithSelector(callee.returnLongBytes.selector)); + calls[2] = Call(address(callee), 0, abi.encode("HelloWorld")); + assertEq(callee.caller(), address(kernel)); + assertEq(callee.sent(), 0); + assertEq(keccak256(callee.message()), keccak256(abi.encode("HelloWorld"))); + vm.prank(owner); kernel.executeBatch(calls); } From c6630f9db8601cfd73ea0be74870051c00c6a378 Mon Sep 17 00:00:00 2001 From: leekt Date: Thu, 22 Feb 2024 15:26:22 +0900 Subject: [PATCH 48/51] added validator setup --- .gitmodules | 7 +++++-- remappings.txt | 3 ++- script/DeployKernelInitial.s.sol | 11 ----------- src/interfaces/IKernelValidator.sol | 2 +- src/mock/TestValidator.sol | 2 +- src/validator/ECDSATypedValidator.sol | 2 +- src/validator/ECDSAValidator.sol | 2 +- src/validator/ERC165SessionKeyValidator.sol | 2 +- src/validator/KillSwitchValidator.sol | 2 +- src/validator/SessionKeyValidator.sol | 2 +- src/validator/WeightedECDSAValidator.sol | 2 +- .../modularPermission/ModularPermissionValidator.sol | 2 +- src/validator/modularPermission/PolicyConfig.sol | 2 +- test/foundry/validator/WebAuthnFclValidator.t.sol | 2 +- 14 files changed, 18 insertions(+), 25 deletions(-) diff --git a/.gitmodules b/.gitmodules index 14110192..b97d7759 100644 --- a/.gitmodules +++ b/.gitmodules @@ -6,7 +6,10 @@ url = https://github.com/leekt/I4337 [submodule "lib/FreshCryptoLib"] path = lib/FreshCryptoLib - url = https://github.com/rdubois-crypto/FreshCryptoLib + url = https://github.com/rdubois-crypto/FreshCryptoLib +[submodule "lib/p256-verifier"] + path = lib/p256-verifier + url = https://github.com/daimo-eth/p256-verifier [submodule "lib/solady"] path = lib/solady - url = https://github.com/vectorized/solady \ No newline at end of file + url = https://github.com/vectorized/solady diff --git a/remappings.txt b/remappings.txt index db0b91c6..91f7eb8d 100644 --- a/remappings.txt +++ b/remappings.txt @@ -2,4 +2,5 @@ ds-test/=lib/forge-std/lib/ds-test/src/ forge-std/=lib/forge-std/src/ solady/=lib/solady/src/ I4337/=lib/I4337/src/ -FreshCryptoLib/=lib/FreshCryptoLib/solidity/src/ \ No newline at end of file +FreshCryptoLib/=lib/FreshCryptoLib/solidity/src/ +p256-verifier/=lib/p256-verifier/src/ diff --git a/script/DeployKernelInitial.s.sol b/script/DeployKernelInitial.s.sol index e4579bb1..45c1e4e3 100644 --- a/script/DeployKernelInitial.s.sol +++ b/script/DeployKernelInitial.s.sol @@ -24,17 +24,6 @@ contract DeployKernelInitial is Script { } else { factory = KernelFactory(EXPECTED_KERNEL_FACTORY_ADDRESS); } - //if(address(ECDSAVALIDATOR).code.length == 0) { - // console.log("ECDSAVALIDATOR NOT DEPLOYED"); - //} else { - // KernelLiteECDSA kernellite; - // kernellite = new KernelLiteECDSA{salt:0}(IEntryPoint(ENTRYPOINT_0_6), IKernelValidator(ECDSAVALIDATOR)); - // console.log("Kernel Lite address: %s", address(kernellite)); - // if(factory.isAllowedImplementation(address(kernellite)) == false) { - // console.log("Registering kernellite implementation"); - // factory.setImplementation(address(kernellite), true); - // } - //} Kernel kernel; kernel = new Kernel{salt: 0}(IEntryPoint(ENTRYPOINT_0_6)); console.log("Kernel address: %s", address(kernel)); diff --git a/src/interfaces/IKernelValidator.sol b/src/interfaces/IKernelValidator.sol index df7e0db0..4544c92b 100644 --- a/src/interfaces/IKernelValidator.sol +++ b/src/interfaces/IKernelValidator.sol @@ -18,7 +18,7 @@ interface IKernelValidator { function validateSignature(bytes32 hash, bytes calldata signature) external view returns (ValidationData); - function validCaller(address caller, bytes calldata data) external payable returns (bool); + function validCaller(address caller, bytes calldata data) external view returns (bool); } // 3 modes diff --git a/src/mock/TestValidator.sol b/src/mock/TestValidator.sol index 48cb5f32..dad5d27e 100644 --- a/src/mock/TestValidator.sol +++ b/src/mock/TestValidator.sol @@ -49,7 +49,7 @@ contract TestValidator is IKernelValidator { emit TestDisable(_data); } - function validCaller(address _caller, bytes calldata) external payable override returns (bool) { + function validCaller(address _caller, bytes calldata) external view override returns (bool) { return _caller == caller[msg.sender]; } } diff --git a/src/validator/ECDSATypedValidator.sol b/src/validator/ECDSATypedValidator.sol index cb23106c..f2dea0c3 100644 --- a/src/validator/ECDSATypedValidator.sol +++ b/src/validator/ECDSATypedValidator.sol @@ -110,7 +110,7 @@ contract ECDSATypedValidator is IKernelValidator, EIP712 { } /// @dev Check if the caller is a valid signer for this kernel account - function validCaller(address _caller, bytes calldata) external payable override returns (bool) { + function validCaller(address _caller, bytes calldata) external view override returns (bool) { return ecdsaValidatorStorage[msg.sender].owner == _caller; } diff --git a/src/validator/ECDSAValidator.sol b/src/validator/ECDSAValidator.sol index 131b9ba1..9eeabf6e 100644 --- a/src/validator/ECDSAValidator.sol +++ b/src/validator/ECDSAValidator.sol @@ -57,7 +57,7 @@ contract ECDSAValidator is IKernelValidator { return ValidationData.wrap(0); } - function validCaller(address _caller, bytes calldata) external payable override returns (bool) { + function validCaller(address _caller, bytes calldata) external view override returns (bool) { return ecdsaValidatorStorage[msg.sender].owner == _caller; } } diff --git a/src/validator/ERC165SessionKeyValidator.sol b/src/validator/ERC165SessionKeyValidator.sol index bd29f6f5..4f381001 100644 --- a/src/validator/ERC165SessionKeyValidator.sol +++ b/src/validator/ERC165SessionKeyValidator.sol @@ -62,7 +62,7 @@ contract ERC165SessionKeyValidator is IKernelValidator { return packValidationData(sessionKey.validAfter, sessionKey.validUntil); } - function validCaller(address, bytes calldata) external payable override returns (bool) { + function validCaller(address, bytes calldata) external view override returns (bool) { revert NotImplemented(); } } diff --git a/src/validator/KillSwitchValidator.sol b/src/validator/KillSwitchValidator.sol index 70f1d816..13b279e9 100644 --- a/src/validator/KillSwitchValidator.sol +++ b/src/validator/KillSwitchValidator.sol @@ -79,7 +79,7 @@ contract KillSwitchValidator is IKernelValidator { } } - function validCaller(address, bytes calldata) external payable override returns (bool) { + function validCaller(address, bytes calldata) external view override returns (bool) { revert NotImplemented(); } } diff --git a/src/validator/SessionKeyValidator.sol b/src/validator/SessionKeyValidator.sol index 7b7fc60d..fe876192 100644 --- a/src/validator/SessionKeyValidator.sol +++ b/src/validator/SessionKeyValidator.sol @@ -301,7 +301,7 @@ contract SessionKeyValidator is IKernelValidator { return true; } - function validCaller(address, bytes calldata) external payable returns (bool) { + function validCaller(address, bytes calldata) external view returns (bool) { revert NotImplemented(); } diff --git a/src/validator/WeightedECDSAValidator.sol b/src/validator/WeightedECDSAValidator.sol index d495b945..47921c7c 100644 --- a/src/validator/WeightedECDSAValidator.sol +++ b/src/validator/WeightedECDSAValidator.sol @@ -250,7 +250,7 @@ contract WeightedECDSAValidator is EIP712, IKernelValidator { passed = approvals >= strg.threshold; } - function validCaller(address, bytes calldata) external payable override returns (bool) { + function validCaller(address, bytes calldata) external view override returns (bool) { return false; } diff --git a/src/validator/modularPermission/ModularPermissionValidator.sol b/src/validator/modularPermission/ModularPermissionValidator.sol index 7602b6c2..68008b93 100644 --- a/src/validator/modularPermission/ModularPermissionValidator.sol +++ b/src/validator/modularPermission/ModularPermissionValidator.sol @@ -208,7 +208,7 @@ contract ModularPermissionValidator is IKernelValidator { validationData = _intersectValidationData(validationData, signatureValidation); } - function validCaller(address caller, bytes calldata data) external payable override returns (bool) { + function validCaller(address caller, bytes calldata data) external view override returns (bool) { revert("not implemented"); } diff --git a/src/validator/modularPermission/PolicyConfig.sol b/src/validator/modularPermission/PolicyConfig.sol index 8f4f89cc..9ac1da26 100644 --- a/src/validator/modularPermission/PolicyConfig.sol +++ b/src/validator/modularPermission/PolicyConfig.sol @@ -8,7 +8,7 @@ function toFlag(uint256 x) pure returns (bytes12) { return bytes12(bytes32(x << 160)); } -function toPermissionFlag(uint256 x) pure returns(bytes12) { +function toPermissionFlag(uint256 x) pure returns (bytes12) { bytes12 ret = bytes12(bytes32(x << 160)); assembly { ret := not(ret) diff --git a/test/foundry/validator/WebAuthnFclValidator.t.sol b/test/foundry/validator/WebAuthnFclValidator.t.sol index 58e1c32b..ec2134d2 100644 --- a/test/foundry/validator/WebAuthnFclValidator.t.sol +++ b/test/foundry/validator/WebAuthnFclValidator.t.sol @@ -167,7 +167,7 @@ contract WebAuthnFclValidatorTest is KernelTestBase { bytes memory sig = signHash(digest); // Ensure it's reverting - vm.expectRevert(WebAuthnFclVerifier.InvalidWebAuthNData.selector); + vm.expectRevert("Kernel::_validateSignature: failed to validate signature"); kernel.isValidSignature(_wrongHash, sig); } From 73ecc079f0b3906b28d13a78ce41cc2d85757d87 Mon Sep 17 00:00:00 2001 From: leekt Date: Thu, 22 Feb 2024 15:30:09 +0900 Subject: [PATCH 49/51] added broadcast for 2.4 on mumbai --- .../80001/run-1708583357.json | 60 ++++++ .../80001/run-1708583364.json | 124 +++++++++++ .../80001/run-latest.json | 202 +++++------------- 3 files changed, 234 insertions(+), 152 deletions(-) create mode 100644 broadcast/DeployKernelInitial.s.sol/80001/run-1708583357.json create mode 100644 broadcast/DeployKernelInitial.s.sol/80001/run-1708583364.json diff --git a/broadcast/DeployKernelInitial.s.sol/80001/run-1708583357.json b/broadcast/DeployKernelInitial.s.sol/80001/run-1708583357.json new file mode 100644 index 00000000..f6f2a9eb --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/80001/run-1708583357.json @@ -0,0 +1,60 @@ +{ + "transactions": [ + { + "hash": "0xd8e812f017a3e85f731e688b9cb30c330bf86680221e9b8f1e13e09784f3767d", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xd3082872F8B06073A021b4602e022d5A070d7cfC", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x35f519", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b5060405162002c4738038062002c47833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b602080830191909152825180840190935260058352640c0b8c8b8d60da1b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612a4162000206600039600081816101e9015281816105ec015281816108e201528181610ae401528181610bbf01528181610c7301528181610f8301528181611007015281816110bf0152818161120a015281816112a3015261133101526000611c6f01526000611d2901526000611d0301526000611cb301526000611c900152612a416000f3fe60806040526004361061014f5760003560e01c806354fd4d50116100b6578063b68df16d1161006f578063b68df16d1461060e578063bc197c8114610621578063d087d28814610650578063d1f5789414610665578063d541622114610678578063f23a6e611461068b5761018e565b806354fd4d501461050557806355b14f501461053657806357b750471461054957806384b0196e1461056e57806388e7fd0614610596578063b0d691fe146105da5761018e565b806334fcd5be1161010857806334fcd5be146103885780633659cfe61461039b5780633a871cdd146103ae5780633e1b0812146103c157806351166ba0146103e157806351945447146104f25761018e565b806306fdde03146102615780630b3dc354146102a9578063150b7a02146102e25780631626ba7e1461032757806329f8b17414610347578063333daf921461035a5761018e565b3661018e57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101b5600080516020612a0183398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f000000000000000000000000000000000000000000000000000000000000000016331480159061021d575061021b6106b8565b155b1561023b57604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561025a573d6000f35b3d6000fd5b005b34801561026d57600080fd5b506102936040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102a09190611dd5565b60405180910390f35b3480156102b557600080fd5b50600080516020612a218339815191525460501c5b6040516001600160a01b0390911681526020016102a0565b3480156102ee57600080fd5b5061030e6102fd366004611e58565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102a0565b34801561033357600080fd5b5061030e610342366004611eca565b6107fe565b61025f610355366004611f41565b6108d7565b34801561036657600080fd5b5061037a610375366004611eca565b610ac2565b6040519081526020016102a0565b61025f6103963660046120df565b610ad9565b61025f6103a93660046121e5565b610bb4565b61037a6103bc366004612202565b610c66565b3480156103cd57600080fd5b5061037a6103dc366004612255565b610f5c565b3480156103ed57600080fd5b506104a56103fc36600461227e565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102a0565b61025f610500366004612299565b610ffc565b34801561051157600080fd5b50610293604051806040016040528060058152602001640c0b8c8b8d60da1b81525081565b61025f610544366004612308565b6110b4565b34801561055557600080fd5b50600080516020612a218339815191525460e01b61030e565b34801561057a57600080fd5b506105836111d8565b6040516102a09796959493929190612343565b3480156105a257600080fd5b50600080516020612a2183398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102a0565b3480156105e657600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b61025f61061c3660046123d9565b6111ff565b34801561062d57600080fd5b5061030e61063c36600461246c565b63bc197c8160e01b98975050505050505050565b34801561065c57600080fd5b5061037a611284565b61025f610673366004612308565b61131b565b61025f61068636600461227e565b611326565b34801561069757600080fd5b5061030e6106a636600461252a565b63f23a6e6160e01b9695505050505050565b60006106c6336000366113bc565b156106d15750600190565b600080356001600160e01b031916905060006106f8600080516020612a0183398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061075c57508054600160301b900465ffffffffffff161580159061075c5750805442600160301b90910465ffffffffffff16105b80610771575080544265ffffffffffff909116115b1561077f5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107b690339060009036906004016125ce565b602060405180830381865afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f791906125f3565b9250505090565b60008061080961144d565b60405161190160f01b60208201526022810182905260428101879052909150600090606201604051602081830303815290604052805190602001209050600061085533838989896114d0565b905060008060006108658461164b565b925092509250428365ffffffffffff161115801561088b5750428265ffffffffffff1610155b801561089e57506001600160a01b038116155b156108b95750630b135d3f60e11b95506108d0945050505050565b506001600160e01b031995506108d0945050505050565b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906109105750333014155b1561092e57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610986600080516020612a0183398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a439085908590600401612615565b600060405180830381600087803b158015610a5d57600080fd5b505af1158015610a71573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610ad133858686866114d0565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b175750610b156106b8565b155b15610b3557604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610baf576000838281518110610b5657610b56612629565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af1808015610b9a57600187019650610ba4565b3d6000803e3d6000fd5b505050505050610b3a565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610bed5750333014155b15610c0b57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb157604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cda9082858761263f565b610ce391612669565b90506001600160e01b03198116600003610d1d578515610d07573434343489335af1505b610d1288888861167e565b9450505050506108d0565b600080516020612a218339815191525460e01b81811615610d465763fc2f51c56000526004601cfd5b5060006001600160e01b03198216600160e01b03610e155760408301358301601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d9c600482868861263f565b610da591612669565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031694509050610dde876004818b61263f565b82549199509750600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179850505050610e77565b6001600160e01b03198216600160e11b03610e695760408301358301601f19810135610e58610e4860046000848661263f565b610e5191612669565b8888611776565b919a50985096509250610e77915050565b6001955050505050506108d0565b8615610e8757343434348a335af1505b6000610e928a612697565b905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152604051633a871cdd60e01b8152610f4e9088906001600160a01b03851690633a871cdd90610f069086908f908f906004016127a5565b6020604051808303816000875af1158015610f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f499190612897565b611adf565b9a9950505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff69190612897565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110355750333014155b801561104657506110446106b8565b155b1561106457604051637046c88d60e01b815260040160405180910390fd5b6000816001811115611078576110786128b0565b14611096576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561025a573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110ed5750333014155b1561110b57604051637046c88d60e01b815260040160405180910390fd5b600080516020612a2183398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a09086908690600401612615565b600060405180830381600087803b1580156111ba57600080fd5b505af11580156111ce573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111ed611b9d565b97989097965046955030945091925090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112385750333014155b801561124957506112476106b8565b155b1561126757604051637046c88d60e01b815260040160405180910390fd5b600080825160208401855af43d6000803e80801561025a573d6000f35b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113169190612897565b905090565b610baf838383611bd9565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061135f5750333014155b1561137d57604051637046c88d60e01b815260040160405180910390fd5b600080516020612a21833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b600080516020612a2183398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd5990611403908890889088906004016125ce565b602060405180830381865afa158015611420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144491906125f3565b95945050505050565b600080600061145a611b9d565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c0909201905280519101209392505050565b600080600080516020612a218339815191525460501c9050600080826001600160a01b031663333daf9260e01b898888604051602401611512939291906128c6565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b03199095169490941790935251611554928b918e91016128e0565b60408051601f198184030181529082905261156e91612914565b600060405180830381855afa9150503d80600081146115a9576040519150601f19603f3d011682016040523d82523d6000602084013e6115ae565b606091505b50915091508161162a5760405162461bcd60e51b815260206004820152603860248201527f4b65726e656c3a3a5f76616c69646174655369676e61747572653a206661696c60448201527f656420746f2076616c6964617465207369676e61747572650000000000000000606482015260840160405180910390fd5b8080602001905181019061163e9190612897565b9998505050505050505050565b600060a082901c65ffffffffffff1682811560001981016116705765ffffffffffff92505b508360d01c92509193909250565b60008061168a85612697565b905061169a610140860186612930565b6116a891600490829061263f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152600080516020612a2183398151915254604051633a871cdd60e01b815260509190911c906001600160a01b03821690633a871cdd90611729908590899089906004016127a5565b6020604051808303816000875af1158015611748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176c9190612897565b9695505050505050565b600080368161178960246010878961263f565b61179291612976565b60601c9350605860006117a8826038898b61263f565b6117b1916129a4565b828101929091508801816117ca60208501858b8d61263f565b6117d3916129a4565b60001c925060208401935060006118bd7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d60049060249261181c9392919061263f565b611825916129a4565b60001c8e8e60249060389261183c9392919061263f565b61184591612976565b60601c87876040516118589291906129c2565b6040519081900381206118a295949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611c6d565b905061190d6118e13083848f8f8b908b8d01926118dc9392919061263f565b6114d0565b8c8c6004906024926118f59392919061263f565b6118fe916129a4565b6001600160a01b031916611adf565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261193d9392919061263f565b611946916129d2565b60d01c65ffffffffffff1681526020018c8c600a9060109261196a9392919061263f565b611973916129d2565b60d01c65ffffffffffff1681526020018c8c6024906038926119979392919061263f565b6119a091612976565b60601c6001600160a01b031681526020018c8c6010906024926119c59392919061263f565b6119ce91612976565b60601c9052600080516020612a018339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c95955690611a9f9086908690600401612615565b600060405180830381600087803b158015611ab957600080fd5b505af1158015611acd573d6000803e3d6000fd5b50505050505050505093509350935093565b600081830160601b8260601b81148460601b8214176001600160a01b0384861816151760018114611b135760019250611b95565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b86169081611b585765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611b76575065ffffffffffff60a01b5b808218908211021880611b8f575065ffffffffffff60a01b5b92909217915b505092915050565b604080518082018252600681526512d95c9b995b60d21b602080830191909152825180840190935260058352640c0b8c8b8d60da1b9083015291565b600080516020612a218339815191525460501c6001600160a01b03811615611c135760405162dc149f60e41b815260040160405180910390fd5b600080516020612a218339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c959556906111a09086908690600401612615565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611d605750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b60005b83811015611da0578181015183820152602001611d88565b50506000910152565b60008151808452611dc1816020860160208601611d85565b601f01601f19169290920160200192915050565b6020815260006108d06020830184611da9565b6001600160a01b0381168114611dfd57600080fd5b50565b8035611e0b81611de8565b919050565b60008083601f840112611e2257600080fd5b5081356001600160401b03811115611e3957600080fd5b602083019150836020828501011115611e5157600080fd5b9250929050565b600080600080600060808688031215611e7057600080fd5b8535611e7b81611de8565b94506020860135611e8b81611de8565b93506040860135925060608601356001600160401b03811115611ead57600080fd5b611eb988828901611e10565b969995985093965092949392505050565b600080600060408486031215611edf57600080fd5b8335925060208401356001600160401b03811115611efc57600080fd5b611f0886828701611e10565b9497909650939450505050565b80356001600160e01b031981168114611e0b57600080fd5b65ffffffffffff81168114611dfd57600080fd5b600080600080600080600060c0888a031215611f5c57600080fd5b611f6588611f15565b96506020880135611f7581611de8565b95506040880135611f8581611de8565b94506060880135611f9581611f2d565b93506080880135611fa581611f2d565b925060a08801356001600160401b03811115611fc057600080fd5b611fcc8a828b01611e10565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561201757612017611fdf565b60405290565b60405161016081016001600160401b038111828210171561201757612017611fdf565b604051601f8201601f191681016001600160401b038111828210171561206857612068611fdf565b604052919050565b600082601f83011261208157600080fd5b81356001600160401b0381111561209a5761209a611fdf565b6120ad601f8201601f1916602001612040565b8181528460208386010111156120c257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208083850312156120f257600080fd5b82356001600160401b038082111561210957600080fd5b818501915085601f83011261211d57600080fd5b81358181111561212f5761212f611fdf565b8060051b61213e858201612040565b918252838101850191858101908984111561215857600080fd5b86860192505b8383101561163e578235858111156121765760008081fd5b86016060818c03601f190181131561218e5760008081fd5b612196611ff5565b898301356121a381611de8565b81526040838101358b8301529183013591888311156121c25760008081fd5b6121d08e8c85870101612070565b9082015284525050918601919086019061215e565b6000602082840312156121f757600080fd5b81356108d081611de8565b60008060006060848603121561221757600080fd5b83356001600160401b0381111561222d57600080fd5b8401610160818703121561224057600080fd5b95602085013595506040909401359392505050565b60006020828403121561226757600080fd5b81356001600160c01b03811681146108d057600080fd5b60006020828403121561229057600080fd5b6108d082611f15565b600080600080608085870312156122af57600080fd5b84356122ba81611de8565b93506020850135925060408501356001600160401b038111156122dc57600080fd5b6122e887828801612070565b9250506060850135600281106122fd57600080fd5b939692955090935050565b60008060006040848603121561231d57600080fd5b833561232881611de8565b925060208401356001600160401b03811115611efc57600080fd5b60ff60f81b881681526000602060e08184015261236360e084018a611da9565b8381036040850152612375818a611da9565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156123c7578351835292840192918401916001016123ab565b50909c9b505050505050505050505050565b600080604083850312156123ec57600080fd5b82356123f781611de8565b915060208301356001600160401b0381111561241257600080fd5b61241e85828601612070565b9150509250929050565b60008083601f84011261243a57600080fd5b5081356001600160401b0381111561245157600080fd5b6020830191508360208260051b8501011115611e5157600080fd5b60008060008060008060008060a0898b03121561248857600080fd5b883561249381611de8565b975060208901356124a381611de8565b965060408901356001600160401b03808211156124bf57600080fd5b6124cb8c838d01612428565b909850965060608b01359150808211156124e457600080fd5b6124f08c838d01612428565b909650945060808b013591508082111561250957600080fd5b506125168b828c01611e10565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561254357600080fd5b863561254e81611de8565b9550602087013561255e81611de8565b9450604087013593506060870135925060808701356001600160401b0381111561258757600080fd5b61259389828a01611e10565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061144490830184866125a5565b60006020828403121561260557600080fd5b815180151581146108d057600080fd5b602081526000610ad16020830184866125a5565b634e487b7160e01b600052603260045260246000fd5b6000808585111561264f57600080fd5b8386111561265c57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611b955760049490940360031b84901b1690921692915050565b600061016082360312156126aa57600080fd5b6126b261201d565b6126bb83611e00565b81526020830135602082015260408301356001600160401b03808211156126e157600080fd5b6126ed36838701612070565b6040840152606085013591508082111561270657600080fd5b61271236838701612070565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561276257600080fd5b61276e36828801612070565b83850152506101409150818501358181111561278957600080fd5b61279536828801612070565b8385015250505080915050919050565b606081526127bf6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526127e76101c0850183611da9565b91506060870151605f19808685030160c08701526128058483611da9565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526128618787611da9565b9650808c0151955050505080868503016101a087015250506128838282611da9565b602085019690965250505060400152919050565b6000602082840312156128a957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006114446040830184866125a5565b600084516128f2818460208901611d85565b919091019283525060601b6001600160601b0319166020820152603401919050565b60008251612926818460208701611d85565b9190910192915050565b6000808335601e1984360301811261294757600080fd5b8301803591506001600160401b0382111561296157600080fd5b602001915036819003821315611e5157600080fd5b6001600160601b03198135818116916014851015611b955760149490940360031b84901b1690921692915050565b80356020831015610ff657600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b03198135818116916006851015611b955760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x121", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd2f1e5216cc502148db4ed20ee5ebaf82728715b11a601be7f81aed312c4b27b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "setImplementation(address,bool)", + "arguments": [ + "0xd3082872F8B06073A021b4602e022d5A070d7cfC", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3082872f8b06073a021b4602e022d5a070d7cfc0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x122", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [], + "libraries": [], + "pending": [ + "0xd8e812f017a3e85f731e688b9cb30c330bf86680221e9b8f1e13e09784f3767d", + "0xd2f1e5216cc502148db4ed20ee5ebaf82728715b11a601be7f81aed312c4b27b" + ], + "returns": {}, + "timestamp": 1708583357, + "chain": 80001, + "multi": false, + "commit": "c6630f9" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/80001/run-1708583364.json b/broadcast/DeployKernelInitial.s.sol/80001/run-1708583364.json new file mode 100644 index 00000000..08119d73 --- /dev/null +++ b/broadcast/DeployKernelInitial.s.sol/80001/run-1708583364.json @@ -0,0 +1,124 @@ +{ + "transactions": [ + { + "hash": "0xd8e812f017a3e85f731e688b9cb30c330bf86680221e9b8f1e13e09784f3767d", + "transactionType": "CREATE2", + "contractName": "Kernel", + "contractAddress": "0xd3082872F8B06073A021b4602e022d5A070d7cfC", + "function": null, + "arguments": [ + "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", + "gas": "0x35f519", + "value": "0x0", + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b5060405162002c4738038062002c47833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b602080830191909152825180840190935260058352640c0b8c8b8d60da1b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612a4162000206600039600081816101e9015281816105ec015281816108e201528181610ae401528181610bbf01528181610c7301528181610f8301528181611007015281816110bf0152818161120a015281816112a3015261133101526000611c6f01526000611d2901526000611d0301526000611cb301526000611c900152612a416000f3fe60806040526004361061014f5760003560e01c806354fd4d50116100b6578063b68df16d1161006f578063b68df16d1461060e578063bc197c8114610621578063d087d28814610650578063d1f5789414610665578063d541622114610678578063f23a6e611461068b5761018e565b806354fd4d501461050557806355b14f501461053657806357b750471461054957806384b0196e1461056e57806388e7fd0614610596578063b0d691fe146105da5761018e565b806334fcd5be1161010857806334fcd5be146103885780633659cfe61461039b5780633a871cdd146103ae5780633e1b0812146103c157806351166ba0146103e157806351945447146104f25761018e565b806306fdde03146102615780630b3dc354146102a9578063150b7a02146102e25780631626ba7e1461032757806329f8b17414610347578063333daf921461035a5761018e565b3661018e57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101b5600080516020612a0183398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f000000000000000000000000000000000000000000000000000000000000000016331480159061021d575061021b6106b8565b155b1561023b57604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561025a573d6000f35b3d6000fd5b005b34801561026d57600080fd5b506102936040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102a09190611dd5565b60405180910390f35b3480156102b557600080fd5b50600080516020612a218339815191525460501c5b6040516001600160a01b0390911681526020016102a0565b3480156102ee57600080fd5b5061030e6102fd366004611e58565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102a0565b34801561033357600080fd5b5061030e610342366004611eca565b6107fe565b61025f610355366004611f41565b6108d7565b34801561036657600080fd5b5061037a610375366004611eca565b610ac2565b6040519081526020016102a0565b61025f6103963660046120df565b610ad9565b61025f6103a93660046121e5565b610bb4565b61037a6103bc366004612202565b610c66565b3480156103cd57600080fd5b5061037a6103dc366004612255565b610f5c565b3480156103ed57600080fd5b506104a56103fc36600461227e565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102a0565b61025f610500366004612299565b610ffc565b34801561051157600080fd5b50610293604051806040016040528060058152602001640c0b8c8b8d60da1b81525081565b61025f610544366004612308565b6110b4565b34801561055557600080fd5b50600080516020612a218339815191525460e01b61030e565b34801561057a57600080fd5b506105836111d8565b6040516102a09796959493929190612343565b3480156105a257600080fd5b50600080516020612a2183398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102a0565b3480156105e657600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b61025f61061c3660046123d9565b6111ff565b34801561062d57600080fd5b5061030e61063c36600461246c565b63bc197c8160e01b98975050505050505050565b34801561065c57600080fd5b5061037a611284565b61025f610673366004612308565b61131b565b61025f61068636600461227e565b611326565b34801561069757600080fd5b5061030e6106a636600461252a565b63f23a6e6160e01b9695505050505050565b60006106c6336000366113bc565b156106d15750600190565b600080356001600160e01b031916905060006106f8600080516020612a0183398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061075c57508054600160301b900465ffffffffffff161580159061075c5750805442600160301b90910465ffffffffffff16105b80610771575080544265ffffffffffff909116115b1561077f5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107b690339060009036906004016125ce565b602060405180830381865afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f791906125f3565b9250505090565b60008061080961144d565b60405161190160f01b60208201526022810182905260428101879052909150600090606201604051602081830303815290604052805190602001209050600061085533838989896114d0565b905060008060006108658461164b565b925092509250428365ffffffffffff161115801561088b5750428265ffffffffffff1610155b801561089e57506001600160a01b038116155b156108b95750630b135d3f60e11b95506108d0945050505050565b506001600160e01b031995506108d0945050505050565b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906109105750333014155b1561092e57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610986600080516020612a0183398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a439085908590600401612615565b600060405180830381600087803b158015610a5d57600080fd5b505af1158015610a71573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610ad133858686866114d0565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b175750610b156106b8565b155b15610b3557604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610baf576000838281518110610b5657610b56612629565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af1808015610b9a57600187019650610ba4565b3d6000803e3d6000fd5b505050505050610b3a565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610bed5750333014155b15610c0b57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb157604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cda9082858761263f565b610ce391612669565b90506001600160e01b03198116600003610d1d578515610d07573434343489335af1505b610d1288888861167e565b9450505050506108d0565b600080516020612a218339815191525460e01b81811615610d465763fc2f51c56000526004601cfd5b5060006001600160e01b03198216600160e01b03610e155760408301358301601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d9c600482868861263f565b610da591612669565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031694509050610dde876004818b61263f565b82549199509750600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179850505050610e77565b6001600160e01b03198216600160e11b03610e695760408301358301601f19810135610e58610e4860046000848661263f565b610e5191612669565b8888611776565b919a50985096509250610e77915050565b6001955050505050506108d0565b8615610e8757343434348a335af1505b6000610e928a612697565b905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152604051633a871cdd60e01b8152610f4e9088906001600160a01b03851690633a871cdd90610f069086908f908f906004016127a5565b6020604051808303816000875af1158015610f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f499190612897565b611adf565b9a9950505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff69190612897565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110355750333014155b801561104657506110446106b8565b155b1561106457604051637046c88d60e01b815260040160405180910390fd5b6000816001811115611078576110786128b0565b14611096576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561025a573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110ed5750333014155b1561110b57604051637046c88d60e01b815260040160405180910390fd5b600080516020612a2183398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a09086908690600401612615565b600060405180830381600087803b1580156111ba57600080fd5b505af11580156111ce573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111ed611b9d565b97989097965046955030945091925090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112385750333014155b801561124957506112476106b8565b155b1561126757604051637046c88d60e01b815260040160405180910390fd5b600080825160208401855af43d6000803e80801561025a573d6000f35b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113169190612897565b905090565b610baf838383611bd9565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061135f5750333014155b1561137d57604051637046c88d60e01b815260040160405180910390fd5b600080516020612a21833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b600080516020612a2183398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd5990611403908890889088906004016125ce565b602060405180830381865afa158015611420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144491906125f3565b95945050505050565b600080600061145a611b9d565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c0909201905280519101209392505050565b600080600080516020612a218339815191525460501c9050600080826001600160a01b031663333daf9260e01b898888604051602401611512939291906128c6565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b03199095169490941790935251611554928b918e91016128e0565b60408051601f198184030181529082905261156e91612914565b600060405180830381855afa9150503d80600081146115a9576040519150601f19603f3d011682016040523d82523d6000602084013e6115ae565b606091505b50915091508161162a5760405162461bcd60e51b815260206004820152603860248201527f4b65726e656c3a3a5f76616c69646174655369676e61747572653a206661696c60448201527f656420746f2076616c6964617465207369676e61747572650000000000000000606482015260840160405180910390fd5b8080602001905181019061163e9190612897565b9998505050505050505050565b600060a082901c65ffffffffffff1682811560001981016116705765ffffffffffff92505b508360d01c92509193909250565b60008061168a85612697565b905061169a610140860186612930565b6116a891600490829061263f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152600080516020612a2183398151915254604051633a871cdd60e01b815260509190911c906001600160a01b03821690633a871cdd90611729908590899089906004016127a5565b6020604051808303816000875af1158015611748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176c9190612897565b9695505050505050565b600080368161178960246010878961263f565b61179291612976565b60601c9350605860006117a8826038898b61263f565b6117b1916129a4565b828101929091508801816117ca60208501858b8d61263f565b6117d3916129a4565b60001c925060208401935060006118bd7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d60049060249261181c9392919061263f565b611825916129a4565b60001c8e8e60249060389261183c9392919061263f565b61184591612976565b60601c87876040516118589291906129c2565b6040519081900381206118a295949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611c6d565b905061190d6118e13083848f8f8b908b8d01926118dc9392919061263f565b6114d0565b8c8c6004906024926118f59392919061263f565b6118fe916129a4565b6001600160a01b031916611adf565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261193d9392919061263f565b611946916129d2565b60d01c65ffffffffffff1681526020018c8c600a9060109261196a9392919061263f565b611973916129d2565b60d01c65ffffffffffff1681526020018c8c6024906038926119979392919061263f565b6119a091612976565b60601c6001600160a01b031681526020018c8c6010906024926119c59392919061263f565b6119ce91612976565b60601c9052600080516020612a018339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c95955690611a9f9086908690600401612615565b600060405180830381600087803b158015611ab957600080fd5b505af1158015611acd573d6000803e3d6000fd5b50505050505050505093509350935093565b600081830160601b8260601b81148460601b8214176001600160a01b0384861816151760018114611b135760019250611b95565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b86169081611b585765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611b76575065ffffffffffff60a01b5b808218908211021880611b8f575065ffffffffffff60a01b5b92909217915b505092915050565b604080518082018252600681526512d95c9b995b60d21b602080830191909152825180840190935260058352640c0b8c8b8d60da1b9083015291565b600080516020612a218339815191525460501c6001600160a01b03811615611c135760405162dc149f60e41b815260040160405180910390fd5b600080516020612a218339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c959556906111a09086908690600401612615565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611d605750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b60005b83811015611da0578181015183820152602001611d88565b50506000910152565b60008151808452611dc1816020860160208601611d85565b601f01601f19169290920160200192915050565b6020815260006108d06020830184611da9565b6001600160a01b0381168114611dfd57600080fd5b50565b8035611e0b81611de8565b919050565b60008083601f840112611e2257600080fd5b5081356001600160401b03811115611e3957600080fd5b602083019150836020828501011115611e5157600080fd5b9250929050565b600080600080600060808688031215611e7057600080fd5b8535611e7b81611de8565b94506020860135611e8b81611de8565b93506040860135925060608601356001600160401b03811115611ead57600080fd5b611eb988828901611e10565b969995985093965092949392505050565b600080600060408486031215611edf57600080fd5b8335925060208401356001600160401b03811115611efc57600080fd5b611f0886828701611e10565b9497909650939450505050565b80356001600160e01b031981168114611e0b57600080fd5b65ffffffffffff81168114611dfd57600080fd5b600080600080600080600060c0888a031215611f5c57600080fd5b611f6588611f15565b96506020880135611f7581611de8565b95506040880135611f8581611de8565b94506060880135611f9581611f2d565b93506080880135611fa581611f2d565b925060a08801356001600160401b03811115611fc057600080fd5b611fcc8a828b01611e10565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561201757612017611fdf565b60405290565b60405161016081016001600160401b038111828210171561201757612017611fdf565b604051601f8201601f191681016001600160401b038111828210171561206857612068611fdf565b604052919050565b600082601f83011261208157600080fd5b81356001600160401b0381111561209a5761209a611fdf565b6120ad601f8201601f1916602001612040565b8181528460208386010111156120c257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208083850312156120f257600080fd5b82356001600160401b038082111561210957600080fd5b818501915085601f83011261211d57600080fd5b81358181111561212f5761212f611fdf565b8060051b61213e858201612040565b918252838101850191858101908984111561215857600080fd5b86860192505b8383101561163e578235858111156121765760008081fd5b86016060818c03601f190181131561218e5760008081fd5b612196611ff5565b898301356121a381611de8565b81526040838101358b8301529183013591888311156121c25760008081fd5b6121d08e8c85870101612070565b9082015284525050918601919086019061215e565b6000602082840312156121f757600080fd5b81356108d081611de8565b60008060006060848603121561221757600080fd5b83356001600160401b0381111561222d57600080fd5b8401610160818703121561224057600080fd5b95602085013595506040909401359392505050565b60006020828403121561226757600080fd5b81356001600160c01b03811681146108d057600080fd5b60006020828403121561229057600080fd5b6108d082611f15565b600080600080608085870312156122af57600080fd5b84356122ba81611de8565b93506020850135925060408501356001600160401b038111156122dc57600080fd5b6122e887828801612070565b9250506060850135600281106122fd57600080fd5b939692955090935050565b60008060006040848603121561231d57600080fd5b833561232881611de8565b925060208401356001600160401b03811115611efc57600080fd5b60ff60f81b881681526000602060e08184015261236360e084018a611da9565b8381036040850152612375818a611da9565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156123c7578351835292840192918401916001016123ab565b50909c9b505050505050505050505050565b600080604083850312156123ec57600080fd5b82356123f781611de8565b915060208301356001600160401b0381111561241257600080fd5b61241e85828601612070565b9150509250929050565b60008083601f84011261243a57600080fd5b5081356001600160401b0381111561245157600080fd5b6020830191508360208260051b8501011115611e5157600080fd5b60008060008060008060008060a0898b03121561248857600080fd5b883561249381611de8565b975060208901356124a381611de8565b965060408901356001600160401b03808211156124bf57600080fd5b6124cb8c838d01612428565b909850965060608b01359150808211156124e457600080fd5b6124f08c838d01612428565b909650945060808b013591508082111561250957600080fd5b506125168b828c01611e10565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561254357600080fd5b863561254e81611de8565b9550602087013561255e81611de8565b9450604087013593506060870135925060808701356001600160401b0381111561258757600080fd5b61259389828a01611e10565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061144490830184866125a5565b60006020828403121561260557600080fd5b815180151581146108d057600080fd5b602081526000610ad16020830184866125a5565b634e487b7160e01b600052603260045260246000fd5b6000808585111561264f57600080fd5b8386111561265c57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611b955760049490940360031b84901b1690921692915050565b600061016082360312156126aa57600080fd5b6126b261201d565b6126bb83611e00565b81526020830135602082015260408301356001600160401b03808211156126e157600080fd5b6126ed36838701612070565b6040840152606085013591508082111561270657600080fd5b61271236838701612070565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561276257600080fd5b61276e36828801612070565b83850152506101409150818501358181111561278957600080fd5b61279536828801612070565b8385015250505080915050919050565b606081526127bf6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526127e76101c0850183611da9565b91506060870151605f19808685030160c08701526128058483611da9565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526128618787611da9565b9650808c0151955050505080868503016101a087015250506128838282611da9565b602085019690965250505060400152919050565b6000602082840312156128a957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006114446040830184866125a5565b600084516128f2818460208901611d85565b919091019283525060601b6001600160601b0319166020820152603401919050565b60008251612926818460208701611d85565b9190910192915050565b6000808335601e1984360301811261294757600080fd5b8301803591506001600160401b0382111561296157600080fd5b602001915036819003821315611e5157600080fd5b6001600160601b03198135818116916014851015611b955760149490940360031b84901b1690921692915050565b80356020831015610ff657600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b03198135818116916006851015611b955760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x121", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + }, + { + "hash": "0xd2f1e5216cc502148db4ed20ee5ebaf82728715b11a601be7f81aed312c4b27b", + "transactionType": "CALL", + "contractName": null, + "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "function": "setImplementation(address,bool)", + "arguments": [ + "0xd3082872F8B06073A021b4602e022d5A070d7cfC", + "true" + ], + "transaction": { + "type": "0x02", + "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", + "gas": "0x10945", + "value": "0x0", + "data": "0xbb30a974000000000000000000000000d3082872f8b06073a021b4602e022d5a070d7cfc0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x122", + "accessList": [] + }, + "additionalContracts": [], + "isFixedGasLimit": false + } + ], + "receipts": [ + { + "transactionHash": "0xd8e812f017a3e85f731e688b9cb30c330bf86680221e9b8f1e13e09784f3767d", + "transactionIndex": "0x1", + "blockHash": "0x9f83e74bd905ce4a48237be29d25a8e7a9628af562617a760d1c58ecebdb4caf", + "blockNumber": "0x2c109e3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", + "cumulativeGasUsed": "0x25c77f", + "gasUsed": "0x24e7a3", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x0000000000000000000000000000000000000000000000000101c6faeaea8400000000000000000000000000000000000000000000000000176208e5250aee6f00000000000000000000000000000000000000000000068bff3013be5c2ac672000000000000000000000000000000000000000000000000166041ea3a206a6f00000000000000000000000000000000000000000000068c0031dab947154a72", + "blockHash": "0x9f83e74bd905ce4a48237be29d25a8e7a9628af562617a760d1c58ecebdb4caf", + "blockNumber": "0x2c109e3", + "transactionHash": "0xd8e812f017a3e85f731e688b9cb30c330bf86680221e9b8f1e13e09784f3767d", + "transactionIndex": "0x1", + "logIndex": "0x2", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6fc23ac12" + }, + { + "transactionHash": "0xd2f1e5216cc502148db4ed20ee5ebaf82728715b11a601be7f81aed312c4b27b", + "transactionIndex": "0x2", + "blockHash": "0x9f83e74bd905ce4a48237be29d25a8e7a9628af562617a760d1c58ecebdb4caf", + "blockNumber": "0x2c109e3", + "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", + "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", + "cumulativeGasUsed": "0x267ce1", + "gasUsed": "0xb562", + "contractAddress": null, + "logs": [ + { + "address": "0x0000000000000000000000000000000000001010", + "topics": [ + "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", + "0x0000000000000000000000000000000000000000000000000000000000001010", + "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" + ], + "data": "0x0000000000000000000000000000000000000000000000000004f2f1be43d800000000000000000000000000000000000000000000000000166041ea378820f900000000000000000000000000000000000000000000068c0031dab947154a72000000000000000000000000000000000000000000000000165b4ef8794448f900000000000000000000000000000000000000000000068c0036cdab05592272", + "blockHash": "0x9f83e74bd905ce4a48237be29d25a8e7a9628af562617a760d1c58ecebdb4caf", + "blockNumber": "0x2c109e3", + "transactionHash": "0xd2f1e5216cc502148db4ed20ee5ebaf82728715b11a601be7f81aed312c4b27b", + "transactionIndex": "0x2", + "logIndex": "0x3", + "removed": false + } + ], + "status": "0x1", + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6fc23ac12" + } + ], + "libraries": [], + "pending": [], + "returns": {}, + "timestamp": 1708583364, + "chain": 80001, + "multi": false, + "commit": "c6630f9" +} \ No newline at end of file diff --git a/broadcast/DeployKernelInitial.s.sol/80001/run-latest.json b/broadcast/DeployKernelInitial.s.sol/80001/run-latest.json index 6380322e..08119d73 100644 --- a/broadcast/DeployKernelInitial.s.sol/80001/run-latest.json +++ b/broadcast/DeployKernelInitial.s.sol/80001/run-latest.json @@ -1,82 +1,46 @@ { "transactions": [ { - "hash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", - "transactionType": "CREATE2", - "contractName": "KernelLiteECDSA", - "contractAddress": "0x482EC42E88a781485E1B6A4f07a0C5479d183291", - "function": null, - "arguments": [ - "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789", - "0xd9AB5096a832b9ce79914329DAEE236f8Eea0390" - ], - "transaction": { - "type": "0x00", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x2cc255", - "value": "0x0", - "data": "0x0000000000000000000000000000000000000000000000000000000000000000610160346200021a57601f620024b438819003918201601f19168301916001600160401b038311848410176200021f5780849260409485528339810103126200021a5780516001600160a01b039182821682036200021a57602001519182168092036200021a57306080524660a05260a06200007a62000235565b600681526005602082016512d95c9b995b60d21b815260206200009c62000235565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220916101009283526101209182527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b03198254161790556101409081527fdea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e976001808060a01b03198254161790556040519161225e938462000256853960805184611c54015260a05184611c77015260c05184611ce9015260e05184611d0f01525183611c33015251828181610526015281816107e5015281816108f201528181610a7d01528181610b9e01528181610d3d01528181610da701528181610f50015281816110f4015281816111ec0152818161129c01528181611345015261169a015251818181610eee0152610fb10152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b038111838210176200021f5760405256fe6080604052600436101561001d575b3661127f5761001b611fe4565b005b60003560e01c806306fdde03146101bd5780630b3dc354146101b8578063150b7a02146101b35780631626ba7e146101ae57806329f8b174146101a9578063333daf92146101a457806334fcd5be1461019f5780633659cfe61461019a5780633a871cdd146101955780633e1b08121461019057806351166ba01461018b578063519454471461018657806354fd4d501461018157806355b14f501461017c57806357b750471461017757806384b0196e1461017257806388e7fd061461016d578063b0d691fe14610168578063b68df16d14610163578063bc197c811461015e578063cdaea3ed14610159578063d087d28814610154578063d1f578941461014f578063d54162211461014a578063f23a6e61146101455763f2fde38b0361000e576111c9565b61116f565b6110dd565b610f9c565b610f1d565b610ed8565b610e49565b610d6c565b610d27565b610cf2565b610c4a565b610c13565b610b8f565b610b3b565b610a36565b61096d565b6108a9565b610867565b6107c1565b6106de565b610659565b6104b1565b61045e565b6103d1565b610352565b61031e565b60009103126101cd57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101fb57604052565b6101d2565b606081019081106001600160401b038211176101fb57604052565b608081019081106001600160401b038211176101fb57604052565b604081019081106001600160401b038211176101fb57604052565b60c081019081106001600160401b038211176101fb57604052565b90601f801991011681019081106001600160401b038211176101fb57604052565b6040519061029a8261021b565b565b6040519061016082018281106001600160401b038211176101fb57604052565b604051906102c982610236565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b84811061030a575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102e9565b346101cd5760003660031901126101cd5761034e61033a6102bc565b6040519182916020835260208301906102de565b0390f35b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101cd57565b359061029a82610388565b9181601f840112156101cd578235916001600160401b0383116101cd57602083818601950101116101cd57565b346101cd5760803660031901126101cd576103ed600435610388565b6103f8602435610388565b6064356001600160401b0381116101cd576104179036906004016103a4565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101cd5760043591602435906001600160401b0382116101cd5761045a916004016103a4565b9091565b346101cd5760206104776104713661042b565b91611d45565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101cd57565b65ffffffffffff8116036101cd57565b60c03660031901126101cd576104c561048a565b602435906104d282610388565b604435906104df82610388565b6064356104eb816104a1565b608435936104f8856104a1565b60a4356001600160401b0381116101cd576105179036906004016103a4565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061064f575b61063d5784926105846105b09261057561056761028d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b03831660608201526105ab87611247565b611941565b1693843b156101cd576040519063064acaab60e11b825281806105da6000998a94600484016119b1565b038183895af180156106385761061f575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061062c610632926101e8565b806101c2565b386105eb565b611681565b604051637046c88d60e01b8152600490fd5b503033141561054f565b346101cd57602061067261066c3661042b565b91612136565b604051908152f35b9291926001600160401b0382116101fb57604051916106a3601f8201601f19166020018461026c565b8294818452818301116101cd578281602093846000960137010152565b9080601f830112156101cd578160206106db9335910161067a565b90565b6020806003193601126101cd576001600160401b036004358181116101cd57366023820112156101cd578060040135918083116101fb578260051b9060409081519461072c8785018761026c565b85528585019160248094860101943686116101cd57848101935b8685106107565761001b88611342565b84358481116101cd578201606060231982360301126101cd5783519161077b83610200565b8782013561078881610388565b835260448201358b8401526064820135928684116101cd576107b28c94938a8695369201016106c0565b86820152815201940193610746565b60203660031901126101cd576004356107d981610388565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061085d575b61063d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b503033141561080e565b6003196060368201126101cd57600435906001600160401b0382116101cd576101609082360301126101cd57610672602091604435906024359060040161168d565b346101cd5760203660031901126101cd576004356001600160c01b038116908190036101cd57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f575b506040519081529081906020820190565b610960915060203d8111610966575b610958818361026c565b8101906115a2565b3861092e565b503d61094e565b346101cd5760203660031901126101cd5761034e6109b261098c61048a565b6000606060405161099c8161021b565b8281528260208201528260408201520152611247565b604051906109bf8261021b565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101cd57600435610a4e81610388565b6044356001600160401b0381116101cd57610a6d9036906004016106c0565b9060643560028110156101cd57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610b10575b80610afb575b61063d57610ac0816112f8565b610ae9576000828193926020839451920190602435905af13d82803e15610ae5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610b0b610b07611eb5565b1590565b610ab3565b5030331415610aad565b60405190610b2782610236565b6005825264302e322e3360d81b6020830152565b346101cd5760003660031901126101cd5761034e61033a610b1a565b9060406003198301126101cd57600435610b7081610388565b91602435906001600160401b0382116101cd5761045a916004016103a4565b610b9836610b57565b505050337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610c09575b61063d5760405162461bcd60e51b815260206004820152600f60248201526e1b9bdd081a5b5c1b195b595b9d1959608a1b6044820152606490fd5b5030331415610bce565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525460e01b6040519063ffffffff60e01b168152f35b346101cd5760003660031901126101cd57610ca0610c666102bc565b610c6e610b1a565b90604051928392600f60f81b8452610c9260209360e08587015260e08601906102de565b9084820360408601526102de565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610cdb57505050500390f35b835185528695509381019392810192600101610ccc565b346101cd5760003660031901126101cd57602060008051602061221e8339815191525465ffffffffffff60405191831c168152f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101cd57600435610d8481610388565b6024356001600160401b0381116101cd57610da39036906004016106c0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e0f575b80610dfe575b61063d5760008281939260208394519201905af43d82803e15610ae5573d90f35b50610e0a610b07611eb5565b610ddd565b5030331415610dd7565b9181601f840112156101cd578235916001600160401b0383116101cd576020808501948460051b0101116101cd57565b346101cd5760a03660031901126101cd57610e65600435610388565b610e70602435610388565b6001600160401b036044358181116101cd57610e90903690600401610e19565b50506064358181116101cd57610eaa903690600401610e19565b50506084359081116101cd57610ec49036906004016103a4565b505060405163bc197c8160e01b8152602090f35b346101cd5760003660031901126101cd576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346101cd5760003660031901126101cd57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106385761034e9160009161093f57506040519081529081906020820190565b610fa536610b57565b916001600160a01b03907f000000000000000000000000000000000000000000000000000000000000000082169082160361108d5760008051602061223e833981519152541661103c5761100861100261001b9361100e936113e0565b906118c7565b60601c90565b60008051602061223e83398151915280546001600160a01b0319166001600160a01b03909216919091179055565b60405162461bcd60e51b8152602060048201526024808201527f4b65726e656c4c69746545434453413a20616c726561647920696e697469616c6044820152631a5e995960e21b6064820152608490fd5b60405162461bcd60e51b815260206004820152602260248201527f4b65726e656c4c69746545434453413a20696e76616c69642076616c6964617460448201526137b960f11b6064820152608490fd5b60203660031901126101cd576110f161048a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580611165575b61063d5760008051602061221e83398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b5030331415611124565b346101cd5760a03660031901126101cd5761118b600435610388565b611196602435610388565b6084356001600160401b0381116101cd576111b59036906004016103a4565b505060405163f23a6e6160e01b8152602090f35b60203660031901126101cd576004356111e181610388565b6001600160a01b03337f0000000000000000000000000000000000000000000000000000000000000000821614158061123d575b61063d5760008051602061223e83398151915280546001600160a01b03191691909216179055005b5030331415611215565b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061129581356001600160e01b031916611247565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112e9575b61063d57818091368280378136915af43d82803e15610ae5573d90f35b506112f2611eb5565b156112cc565b6002111561130257565b634e487b7160e01b600052602160045260246000fd5b805182101561132c5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806113cf575b61063d5780519060005b82811061138b57505050565b6000806113988385611318565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156113ca5760010161137f565b3d6000fd5b506113db610b07611eb5565b611375565b906014116101cd5790601490565b906004116101cd5790600490565b90929192836004116101cd5783116101cd57600401916003190190565b906024116101cd5760100190601490565b906058116101cd5760380190602090565b906024116101cd5760040190602090565b906038116101cd5760240190601490565b90600a116101cd5760040190600690565b906010116101cd57600a0190600690565b909392938483116101cd5784116101cd578101920390565b6001600160e01b031990358181169392600481106114b457505050565b60040360031b82901b16169150565b9190610160838203126101cd576114d861029c565b926114e281610399565b8452602081013560208501526040810135916001600160401b03928381116101cd57816115109184016106c0565b604086015260608201358381116101cd578161152d9184016106c0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101cd578261157f9185016106c0565b9086015261014092838301359081116101cd5761159c92016106c0565b90830152565b908160209103126101cd575190565b606080825282516001600160a01b031690820152919392916040916116779060208101516080840152838101516115f6610160918260a08701526101c08601906102de565b90611664611616606085015193605f1994858983030160c08a01526102de565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102de565b92015190848303016101a08501526102de565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f0000000000000000000000000000000000000000000000000000000000000000851633036118b5576004948535928361014481013501918760248401930135946116ec6116e687866113ee565b90611497565b926001600160e01b03198085169182156118885761170b9036906114c3565b9461172560008051602061221e8339815191525460e01b90565b16161561173d5760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611837575090602095966117c761179561177c6117776116e687606460009901350160248782013591016113ee565b611247565b6001810154909a9081906001600160a01b0316986113fc565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b611829575b369161067a565b6101408501526117eb604051998a9788968794633a871cdd60e01b865285016115b1565b0393165af1908115610638576106db92600092611809575b5061219b565b61182291925060203d811161096657610958818361026c565b9038611803565b348080808f335af1506117c0565b9095939190600160e11b0361187b576118716117c79460009361186c6116e68a606460209c01350160248d82013591016113ee565b6119d9565b91999296916117ba565b5050505050505050600190565b9750505050505050916106db939450806118a3575b5061203e565b3490349034903490335af1503861189d565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106118e957505050565b60140360031b82901b16169150565b359060208110611906575090565b6000199060200360031b1b1690565b6001600160d01b0319903581811693926006811061193257505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90918060409360208452816020850152848401376000828201840152601f01601f1916010190565b91906119e58282611419565b6119ee916118c7565b60601c936119fc838361142a565b611a05916118f8565b605883016078820194858360580190611a1f91838861147f565b611a28916118f8565b611a32828761143b565b611a3b916118f8565b611a45838861144c565b611a4e916118c7565b60601c611a5c36878761067a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a08084019290925290825290611ad260c08261026c565b519020611ade90611c31565b9084019660788801611af191848961147f565b90611afb92612136565b611b05828761143b565b6001600160a01b031991611b1991906118f8565b16611b239161219b565b966078868801019682036077190195611b3c838261145d565b611b4591611915565b60d01c92611b53818361146e565b611b5c91611915565b60d01c91611b6a828261144c565b611b73916118c7565b60601c91611b8091611419565b611b89916118c7565b60601c91611b9561028d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611bd390611247565b90611bdd91611941565b6001600160a01b03871691823b156101cd57611c13926000928360405180968195829463064acaab60e11b8452600484016119b1565b03925af1801561063857611c245750565b8061062c61029a926101e8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611cbe575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611c9f565b91611e0491611e0993611dee611dfc611d5c6102bc565b611d64610b1a565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611dc381610251565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261026c565b519020612136565b612015565b9065ffffffffffff928342911611159283611e56575b505081611e44575b5015611e3857630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611e27565b429116101591503880611e1f565b908160209103126101cd575180151581036101cd5790565b6001600160a01b0390911681526040602082018190528101829052606091806000848401376000828201840152601f01601f1916010190565b60008051602061223e833981519152546001600160a01b039081163314611fde57611eeb6000356001600160e01b031916611247565b60018101546001600160a01b031691821615908115611fa2575b8115611f77575b5015611f185750600090565b60206040518092639ea9bd5960e01b82528180611f39363360048401611e7c565b03915afa90811561063857600091611f4f575090565b6106db915060203d8111611f70575b611f68818361026c565b810190611e64565b503d611f5e565b54611f91915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611f0c565b905065ffffffffffff611fc2611f86835465ffffffffffff9060301c1690565b168015159081611fd4575b5090611f05565b9050421138611fcd565b50600190565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b8065ffffffffffff91828160a01c16928315600114612036575b5060d01c92565b92503861202f565b9061206e906020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042090565b9061014081013590601e19813603018212156101cd5701908135916001600160401b0383116101cd576020019180360383136101cd576117c0816120b5926120bb956113fc565b906120e7565b60008051602061223e833981519152546001600160a01b039081169116036120e257600090565b600190565b6001608060006041602094969596604080519880519285526060810151851a88528781015182520151606052145afa51913d15612128576000606052604052565b638baa579f6000526004601cfd5b6020527b19457468657265756d205369676e6564204d6573736167653a0a3332600052603c60042061216f92916120b59192369161067a565b60008051602061223e833981519152546001600160a01b0391821691161461219657600190565b600090565b8082186001600160a01b0316156001146121b6575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612214575b8116801561220d575b848110908518028085189414612205575b5081811190821802181790565b9250386121f8565b50806121e7565b935080936121de56fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd9dea7fea882fba743201b2aeb1babf326b8944488db560784858525d123ee7e970000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789000000000000000000000000d9ab5096a832b9ce79914329daee236f8eea0390", - "nonce": "0x118" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", - "transactionType": "CALL", - "contractName": null, - "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, - "transaction": { - "type": "0x00", - "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", - "gas": "0x10945", - "value": "0x0", - "data": "0xbb30a974000000000000000000000000482ec42e88a781485e1b6a4f07a0c5479d1832910000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x119" - }, - "additionalContracts": [], - "isFixedGasLimit": false - }, - { - "hash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", + "hash": "0xd8e812f017a3e85f731e688b9cb30c330bf86680221e9b8f1e13e09784f3767d", "transactionType": "CREATE2", "contractName": "Kernel", - "contractAddress": "0xD3F582F6B4814E989Ee8E96bc3175320B5A540ab", + "contractAddress": "0xd3082872F8B06073A021b4602e022d5A070d7cfC", "function": null, "arguments": [ "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789" ], "transaction": { - "type": "0x00", + "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x4e59b44847b379578588920ca78fbf26c0b4956c", - "gas": "0x2b4047", + "gas": "0x35f519", "value": "0x0", - "data": "0x000000000000000000000000000000000000000000000000000000000000000061014034620001be57601f6200238b38819003918201601f19168301916001600160401b03831184841017620001c357808492602094604052833981010312620001be57516001600160a01b0381168103620001be57306080524660a05260a062000069620001d9565b600681526005602082016512d95c9b995b60d21b815260206200008b620001d9565b838152019264302e322e3360d81b845251902091208160c0528060e052604051917f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f83526020830152604082015246606082015230608082015220906101009182526101209081527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd96a010000000000000000000080600160f01b0319825416179055604051906121919283620001fa843960805183611b42015260a05183611b65015260c05183611bd7015260e05183611bfd01525182611b21015251818181610506015281816107c5015281816108d201528181610a5d01528181610b8501528181610d7f01528181610de901528181610f4d0152818161104c015281816111760152818161121f01526115660152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b03811183821017620001c35760405256fe6080604052600436101561001d575b366111595761001b612047565b005b60003560e01c806306fdde031461019d5780630b3dc35414610198578063150b7a02146101935780631626ba7e1461018e57806329f8b17414610189578063333daf921461018457806334fcd5be1461017f5780633659cfe61461017a5780633a871cdd146101755780633e1b08121461017057806351166ba01461016b578063519454471461016657806354fd4d501461016157806355b14f501461015c57806357b750471461015757806384b0196e1461015257806388e7fd061461014d578063b0d691fe14610148578063b68df16d14610143578063bc197c811461013e578063d087d28814610139578063d1f5789414610134578063d54162211461012f5763f23a6e610361000e576110c7565b611035565b610f99565b610f1a565b610e8b565b610dae565b610d69565b610d34565b610c8c565b610c55565b610b6f565b610b1b565b610a16565b61094d565b610889565b610847565b6107a1565b6106be565b610639565b610491565b61043e565b6103b1565b610332565b6102fe565b60009103126101ad57565b600080fd5b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116101db57604052565b6101b2565b606081019081106001600160401b038211176101db57604052565b608081019081106001600160401b038211176101db57604052565b604081019081106001600160401b038211176101db57604052565b60c081019081106001600160401b038211176101db57604052565b90601f801991011681019081106001600160401b038211176101db57604052565b6040519061027a826101fb565b565b6040519061016082018281106001600160401b038211176101db57604052565b604051906102a982610216565b600682526512d95c9b995b60d21b6020830152565b919082519283825260005b8481106102ea575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016102c9565b346101ad5760003660031901126101ad5761032e61031a61029c565b6040519182916020835260208301906102be565b0390f35b346101ad5760003660031901126101ad5760206000805160206121718339815191525460501c6040519060018060a01b03168152f35b6001600160a01b038116036101ad57565b359061027a82610368565b9181601f840112156101ad578235916001600160401b0383116101ad57602083818601950101116101ad57565b346101ad5760803660031901126101ad576103cd600435610368565b6103d8602435610368565b6064356001600160401b0381116101ad576103f7903690600401610384565b5050604051630a85bd0160e11b8152602090f35b9060406003198301126101ad5760043591602435906001600160401b0382116101ad5761043a91600401610384565b9091565b346101ad5760206104576104513661040b565b91611c33565b6040516001600160e01b03199091168152f35b600435906001600160e01b0319821682036101ad57565b65ffffffffffff8116036101ad57565b60c03660031901126101ad576104a561046a565b602435906104b282610368565b604435906104bf82610368565b6064356104cb81610481565b608435936104d885610481565b60a4356001600160401b0381116101ad576104f7903690600401610384565b9590946001600160a01b0393337f0000000000000000000000000000000000000000000000000000000000000000861614158061062f575b61061d5784926105646105909261055561054761026d565b65ffffffffffff9094168452565b65ffffffffffff166020830152565b6001600160a01b03851660408201526001600160a01b038316606082015261058b87611121565b611803565b1693843b156101ad576040519063064acaab60e11b825281806105ba6000998a94600484016118b6565b038183895af18015610618576105ff575b5016906001600160e01b0319167fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d3213538480a480f35b8061060c610612926101c8565b806101a2565b386105cb565b61154d565b604051637046c88d60e01b8152600490fd5b503033141561052f565b346101ad57602061065261064c3661040b565b91611f8c565b604051908152f35b9291926001600160401b0382116101db5760405191610683601f8201601f19166020018461024c565b8294818452818301116101ad578281602093846000960137010152565b9080601f830112156101ad578160206106bb9335910161065a565b90565b6020806003193601126101ad576001600160401b036004358181116101ad57366023820112156101ad578060040135918083116101db578260051b9060409081519461070c8785018761024c565b85528585019160248094860101943686116101ad57848101935b8685106107365761001b8861121c565b84358481116101ad578201606060231982360301126101ad5783519161075b836101e0565b8782013561076881610368565b835260448201358b8401526064820135928684116101ad576107928c94938a8695369201016106a0565b86820152815201940193610726565b60203660031901126101ad576004356107b981610368565b6001600160a01b0390337f0000000000000000000000000000000000000000000000000000000000000000831614158061083d575b61061d57807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc55167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a2005b50303314156107ee565b6003196060368201126101ad57600435906001600160401b0382116101ad576101609082360301126101ad576106526020916044359060243590600401611559565b346101ad5760203660031901126101ad576004356001600160c01b038116908190036101ad57604051631aab3f0d60e11b815230600482015260248101919091526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f575b506040519081529081906020820190565b610940915060203d8111610946575b610938818361024c565b81019061146e565b3861090e565b503d61092e565b346101ad5760203660031901126101ad5761032e61099261096c61046a565b6000606060405161097c816101fb565b8281528260208201528260408201520152611121565b6040519061099f826101fb565b805465ffffffffffff80821684528160301c16602084015260601c60408301526001808060a01b03910154166060820152604051918291829190916060608082019365ffffffffffff80825116845260208201511660208401528160018060a01b0391826040820151166040860152015116910152565b60803660031901126101ad57600435610a2e81610368565b6044356001600160401b0381116101ad57610a4d9036906004016106a0565b9060643560028110156101ad57337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610af0575b80610adb575b61061d57610aa0816111d2565b610ac9576000828193926020839451920190602435905af13d82803e15610ac5573d90f35b3d90fd5b6040516367ce775960e01b8152600490fd5b50610aeb610ae7611d8c565b1590565b610a93565b5030331415610a8d565b60405190610b0782610216565b6005825264302e322e3360d81b6020830152565b346101ad5760003660031901126101ad5761032e61031a610afa565b9060406003198301126101ad57600435610b5081610368565b91602435906001600160401b0382116101ad5761043a91600401610384565b610b7836610b37565b90916001600160a01b03337f00000000000000000000000000000000000000000000000000000000000000008216141580610c4b575b61061d57806000805160206121718339815191525460501c1691610bd181612078565b1692836040519360009586947fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c8680a3813b15610c47578385610c25819593829463064acaab60e11b8452600484016118b6565b03925af1801561061857610c37575080f35b8061060c610c44926101c8565b80f35b8380fd5b5030331415610bae565b346101ad5760003660031901126101ad5760206000805160206121718339815191525460e01b6040519063ffffffff60e01b168152f35b346101ad5760003660031901126101ad57610ce2610ca861029c565b610cb0610afa565b90604051928392600f60f81b8452610cd460209360e08587015260e08601906102be565b9084820360408601526102be565b90466060840152306080840152600060a084015282820360c08401528060605192838152019160809160005b828110610d1d57505050500390f35b835185528695509381019392810192600101610d0e565b346101ad5760003660031901126101ad5760206000805160206121718339815191525465ffffffffffff60405191831c168152f35b346101ad5760003660031901126101ad576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b60403660031901126101ad57600435610dc681610368565b6024356001600160401b0381116101ad57610de59036906004016106a0565b90337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316141580610e51575b80610e40575b61061d5760008281939260208394519201905af43d82803e15610ac5573d90f35b50610e4c610ae7611d8c565b610e1f565b5030331415610e19565b9181601f840112156101ad578235916001600160401b0383116101ad576020808501948460051b0101116101ad57565b346101ad5760a03660031901126101ad57610ea7600435610368565b610eb2602435610368565b6001600160401b036044358181116101ad57610ed2903690600401610e5b565b50506064358181116101ad57610eec903690600401610e5b565b50506084359081116101ad57610f06903690600401610384565b505060405163bc197c8160e01b8152602090f35b346101ad5760003660031901126101ad57604051631aab3f0d60e11b8152306004820152600060248201526020816044817f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03165afa80156106185761032e9160009161091f57506040519081529081906020820190565b610fa236610b37565b60008051602061217183398151915254919290916001600160a01b03919060501c821661102457610fd281612078565b1691823b156101ad57611007926000928360405180968195829463064acaab60e11b8452602060048501526024840191611895565b03925af180156106185761101757005b8061060c61001b926101c8565b60405162dc149f60e41b8152600490fd5b60203660031901126101ad5761104961046a565b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806110bd575b61061d5760008051602061217183398151915290815469ffffffffffff000000004260201b169160e01c9069ffffffffffffffffffff191617179055600080f35b503033141561107c565b346101ad5760a03660031901126101ad576110e3600435610368565b6110ee602435610368565b6084356001600160401b0381116101ad5761110d903690600401610384565b505060405163f23a6e6160e01b8152602090f35b63ffffffff60e01b166000527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda602052604060002090565b600061116f81356001600160e01b031916611121565b5460601c337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806111c3575b61061d57818091368280378136915af43d82803e15610ac5573d90f35b506111cc611d8c565b156111a6565b600211156111dc57565b634e487b7160e01b600052602160045260246000fd5b80518210156112065760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b337f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161415806112a9575b61061d5780519060005b82811061126557505050565b60008061127283856111f2565b5180516001600160a01b03166020916040838201519101519283519301915af13d6000803e156112a457600101611259565b3d6000fd5b506112b5610ae7611d8c565b61124f565b906004116101ad5790600490565b90929192836004116101ad5783116101ad57600401916003190190565b906024116101ad5760100190601490565b906058116101ad5760380190602090565b906024116101ad5760040190602090565b906038116101ad5760240190601490565b90600a116101ad5760040190600690565b906010116101ad57600a0190600690565b909392938483116101ad5784116101ad578101920390565b6001600160e01b0319903581811693926004811061138057505050565b60040360031b82901b16169150565b9190610160838203126101ad576113a461027c565b926113ae81610379565b8452602081013560208501526040810135916001600160401b03928381116101ad57816113dc9184016106a0565b604086015260608201358381116101ad57816113f99184016106a0565b60608601526080820135608086015260a082013560a086015260c082013560c086015260e082013560e08601526101008083013590860152610120808301358481116101ad578261144b9185016106a0565b9086015261014092838301359081116101ad5761146892016106a0565b90830152565b908160209103126101ad575190565b606080825282516001600160a01b031690820152919392916040916115439060208101516080840152838101516114c2610160918260a08701526101c08601906102be565b906115306114e2606085015193605f1994858983030160c08a01526102be565b608085015160e088015260a085015192610100938489015260c08601519061012091828a015260e08701519461014095868b01528701519089015285015184888303016101808901526102be565b92015190848303016101a08501526102be565b9460208201520152565b6040513d6000823e3d90fd5b6001600160a01b039392917f000000000000000000000000000000000000000000000000000000000000000085163303611777576004948535928361014481013501918760248401930135946115b86115b287866112ba565b90611363565b926001600160e01b0319808516918215611754576115d790369061138f565b946115f16000805160206121718339815191525460e01b90565b1616156116095760405163fc2f51c560e01b81528a90fd5b97989697600160e01b8103611703575090602095966116936116616116486116436115b287606460009901350160248782013591016112ba565b611121565b6001810154909a9081906001600160a01b0316986112c8565b995460d081901b6001600160d01b03191660709190911b65ffffffffffff60a01b1617995b8b6116f5575b369161065a565b6101408501526116b7604051998a9788968794633a871cdd60e01b8652850161147d565b0393165af1908115610618576106bb926000926116d5575b506120ee565b6116ee91925060203d811161094657610938818361024c565b90386116cf565b348080808f335af15061168c565b9095939190600160e11b036117475761173d611693946000936117386115b28a606460209c01350160248d82013591016112ba565b6118c7565b9199929691611686565b5050505050505050600190565b9697505050505050506106bb9394508215611ec0573434343486335af150611ec0565b604051636b31ba1560e11b8152600490fd5b6bffffffffffffffffffffffff1990358181169392601481106117ab57505050565b60140360031b82901b16169150565b3590602081106117c8575090565b6000199060200360031b1b1690565b6001600160d01b031990358181169392600681106117f457505050565b60060360031b82901b16169150565b81516020830151604084015160309190911b6bffffffffffff0000000000001665ffffffffffff9290921691909117606091821b6bffffffffffffffffffffffff19161782559091015160019190910180546001600160a01b0319166001600160a01b0392909216919091179055565b90602091808252806000848401376000828201840152601f01601f1916010190565b908060209392818452848401376000828201840152601f01601f1916010190565b9160206106bb938181520191611895565b91906118d382826112e5565b6118dc91611789565b60601c936118ea83836112f6565b6118f3916117ba565b60588301607882019485836058019061190d91838861134b565b611916916117ba565b6119208287611307565b611929916117ba565b6119338388611318565b61193c91611789565b60601c61194a36878761065a565b8051602091820120604080517f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee9641769381019384526001600160e01b03198e169181019190915260608101949094526001600160a01b0392909216608084015260a080840192909252908252906119c060c08261024c565b5190206119cc90611b1f565b90840196607888016119df91848961134b565b906119e992611f8c565b6119f38287611307565b6001600160a01b031991611a0791906117ba565b16611a11916120ee565b966078868801019682036077190195611a2a8382611329565b611a33916117d7565b60d01c92611a41818361133a565b611a4a916117d7565b60d01c91611a588282611318565b611a6191611789565b60601c91611a6e916112e5565b611a7791611789565b60601c91611a8361026d565b65ffffffffffff909516855265ffffffffffff1660208501526001600160a01b031660408401526001600160a01b03166060830152611ac190611121565b90611acb91611803565b6001600160a01b03871691823b156101ad57611b01926000928360405180968195829463064acaab60e11b8452600484016118b6565b03925af1801561061857611b125750565b8061060c61027a926101c8565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f000000000000000000000000000000000000000000000000000000000000000046141615611bac575b671901000000000000600052601a52603a526042601820906000603a52565b5060a06040517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f0000000000000000000000000000000000000000000000000000000000000000604082015246606082015230608082015220611b8d565b91611cf291611cf793611cdc611cea611c4a61029c565b611c52610afa565b906020815191012090602081519101206040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152611cb181610231565b51902092604051928391602083019586909160429261190160f01b8352600283015260228201520190565b03601f19810183528261024c565b519020611f8c565b6120c5565b9065ffffffffffff928342911611159283611d44575b505081611d32575b5015611d2657630b135d3f60e11b90565b6001600160e01b031990565b6001600160a01b031615905038611d15565b429116101591503880611d0d565b908160209103126101ad575180151581036101ad5790565b6001600160a01b0390911681526040602082018190526106bb92910190611873565b611d963633611ff4565b611ebb57611daf6000356001600160e01b031916611121565b6001810154611dce906001600160a01b03165b6001600160a01b031690565b906001600160a01b03821615908115611e7f575b8115611e54575b5015611df55750600090565b60206040518092639ea9bd5960e01b82528180611e16363360048401611d6a565b03915afa90811561061857600091611e2c575090565b6106bb915060203d8111611e4d575b611e45818361024c565b810190611d52565b503d611e3b565b54611e6e915065ffffffffffff165b65ffffffffffff1690565b65ffffffffffff4291161138611de9565b905065ffffffffffff611e9f611e63835465ffffffffffff9060301c1690565b168015159081611eb1575b5090611de2565b9050421138611eaa565b600190565b9091611ecc368361138f565b610140928381013590601e19813603018212156101ad5701938435946001600160401b0386116101ad576020019385360385136101ad57611f1661168c87611f5e986020986112c8565b908301526000611f40611dc26000805160206121718339815191525460501c60018060a01b031690565b9260405196879586948593633a871cdd60e01b85526004850161147d565b03925af190811561061857600091611f74575090565b6106bb915060203d811161094657610938818361024c565b600080516020612171833981519152546040805163199ed7c960e11b8152600481019390935260248301529092602092849260501c6001600160a01b03169183918291611fde91604484019190611895565b03915afa90811561061857600091611f74575090565b6000805160206121718339815191525460408051639ea9bd5960e01b81526001600160a01b039384166004820152602481019190915292602092849260501c169082908190611e16906044830190611873565b7f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f8852587460408051338152346020820152a1565b60008051602061217183398151915280547fffff0000000000000000000000000000000000000000ffffffffffffffffffff1660509290921b600160501b600160f01b0316919091179055565b8065ffffffffffff91828160a01c169283156001146120e6575b5060d01c92565b9250386120df565b8082186001600160a01b031615600114612109575050600190565b65ffffffffffff60a01b8181169265ffffffffffff60a01b1992831692811691908415612167575b81168015612160575b848110908518028085189414612158575b5081811190821802181790565b92503861214b565b508061213a565b9350809361213156fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", - "nonce": "0x11a" + "data": "0x00000000000000000000000000000000000000000000000000000000000000006101406040523480156200001257600080fd5b5060405162002c4738038062002c47833981016040819052620000359162000137565b306080524660a0528060608062000081604080518082018252600681526512d95c9b995b60d21b602080830191909152825180840190935260058352640c0b8c8b8d60da1b9083015291565b815160209283012081519183019190912060c082905260e0819052604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8152938401929092529082015246606082015230608082015260a090206101005250506001600160a01b031661012052507f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd98054600160501b600160f01b0319166a010000000000000000000017905562000169565b6000602082840312156200014a57600080fd5b81516001600160a01b03811681146200016257600080fd5b9392505050565b60805160a05160c05160e0516101005161012051612a4162000206600039600081816101e9015281816105ec015281816108e201528181610ae401528181610bbf01528181610c7301528181610f8301528181611007015281816110bf0152818161120a015281816112a3015261133101526000611c6f01526000611d2901526000611d0301526000611cb301526000611c900152612a416000f3fe60806040526004361061014f5760003560e01c806354fd4d50116100b6578063b68df16d1161006f578063b68df16d1461060e578063bc197c8114610621578063d087d28814610650578063d1f5789414610665578063d541622114610678578063f23a6e611461068b5761018e565b806354fd4d501461050557806355b14f501461053657806357b750471461054957806384b0196e1461056e57806388e7fd0614610596578063b0d691fe146105da5761018e565b806334fcd5be1161010857806334fcd5be146103885780633659cfe61461039b5780633a871cdd146103ae5780633e1b0812146103c157806351166ba0146103e157806351945447146104f25761018e565b806306fdde03146102615780630b3dc354146102a9578063150b7a02146102e25780631626ba7e1461032757806329f8b17414610347578063333daf921461035a5761018e565b3661018e57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b600080356001600160e01b031916905060006101b5600080516020612a0183398151915290565b6001600160e01b0319831660009081526002919091016020526040902054600160601b90046001600160a01b0390811691507f000000000000000000000000000000000000000000000000000000000000000016331480159061021d575061021b6106b8565b155b1561023b57604051637046c88d60e01b815260040160405180910390fd5b3660008037600080366000845af43d6000803e80801561025a573d6000f35b3d6000fd5b005b34801561026d57600080fd5b506102936040518060400160405280600681526020016512d95c9b995b60d21b81525081565b6040516102a09190611dd5565b60405180910390f35b3480156102b557600080fd5b50600080516020612a218339815191525460501c5b6040516001600160a01b0390911681526020016102a0565b3480156102ee57600080fd5b5061030e6102fd366004611e58565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016102a0565b34801561033357600080fd5b5061030e610342366004611eca565b6107fe565b61025f610355366004611f41565b6108d7565b34801561036657600080fd5b5061037a610375366004611eca565b610ac2565b6040519081526020016102a0565b61025f6103963660046120df565b610ad9565b61025f6103a93660046121e5565b610bb4565b61037a6103bc366004612202565b610c66565b3480156103cd57600080fd5b5061037a6103dc366004612255565b610f5c565b3480156103ed57600080fd5b506104a56103fc36600461227e565b60408051608080820183526000808352602080840182905283850182905260609384018290526001600160e01b03199590951681527f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda855283902083519182018452805465ffffffffffff8082168452600160301b82041695830195909552600160601b9094046001600160a01b03908116938201939093526001909301549091169082015290565b60408051825165ffffffffffff908116825260208085015190911690820152828201516001600160a01b0390811692820192909252606092830151909116918101919091526080016102a0565b61025f610500366004612299565b610ffc565b34801561051157600080fd5b50610293604051806040016040528060058152602001640c0b8c8b8d60da1b81525081565b61025f610544366004612308565b6110b4565b34801561055557600080fd5b50600080516020612a218339815191525460e01b61030e565b34801561057a57600080fd5b506105836111d8565b6040516102a09796959493929190612343565b3480156105a257600080fd5b50600080516020612a2183398151915254640100000000900465ffffffffffff1660405165ffffffffffff90911681526020016102a0565b3480156105e657600080fd5b506102ca7f000000000000000000000000000000000000000000000000000000000000000081565b61025f61061c3660046123d9565b6111ff565b34801561062d57600080fd5b5061030e61063c36600461246c565b63bc197c8160e01b98975050505050505050565b34801561065c57600080fd5b5061037a611284565b61025f610673366004612308565b61131b565b61025f61068636600461227e565b611326565b34801561069757600080fd5b5061030e6106a636600461252a565b63f23a6e6160e01b9695505050505050565b60006106c6336000366113bc565b156106d15750600190565b600080356001600160e01b031916905060006106f8600080516020612a0183398151915290565b6001600160e01b0319831660009081526002919091016020526040902060018101549091506001600160a01b0316158061075c57508054600160301b900465ffffffffffff161580159061075c5750805442600160301b90910465ffffffffffff16105b80610771575080544265ffffffffffff909116115b1561077f5760009250505090565b6001810154604051639ea9bd5960e01b81526001600160a01b0390911690639ea9bd59906107b690339060009036906004016125ce565b602060405180830381865afa1580156107d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f791906125f3565b9250505090565b60008061080961144d565b60405161190160f01b60208201526022810182905260428101879052909150600090606201604051602081830303815290604052805190602001209050600061085533838989896114d0565b905060008060006108658461164b565b925092509250428365ffffffffffff161115801561088b5750428265ffffffffffff1610155b801561089e57506001600160a01b038116155b156108b95750630b135d3f60e11b95506108d0945050505050565b506001600160e01b031995506108d0945050505050565b9392505050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906109105750333014155b1561092e57604051637046c88d60e01b815260040160405180910390fd5b60405180608001604052808465ffffffffffff1681526020018565ffffffffffff168152602001876001600160a01b03168152602001866001600160a01b0316815250610986600080516020612a0183398151915290565b6001600160e01b031989166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b815290861690630c95955690610a439085908590600401612615565b600060405180830381600087803b158015610a5d57600080fd5b505af1158015610a71573d6000803e3d6000fd5b50506040516001600160a01b038089169350891691506001600160e01b03198a16907fed03d2572564284398470d3f266a693e29ddfff3eba45fc06c5e91013d32135390600090a450505050505050565b6000610ad133858686866114d0565b949350505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610b175750610b156106b8565b155b15610b3557604051637046c88d60e01b815260040160405180910390fd5b805160005b81811015610baf576000838281518110610b5657610b56612629565b6020026020010151905060008160000151905060008260200151905060008360400151905060008082516020840185875af1808015610b9a57600187019650610ba4565b3d6000803e3d6000fd5b505050505050610b3a565b505050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610bed5750333014155b15610c0b57604051637046c88d60e01b815260040160405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8190556040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610cb157604051636b31ba1560e11b815260040160405180910390fd5b6024600480356101448101358101838101939083013592910190600090610cda9082858761263f565b610ce391612669565b90506001600160e01b03198116600003610d1d578515610d07573434343489335af1505b610d1288888861167e565b9450505050506108d0565b600080516020612a218339815191525460e01b81811615610d465763fc2f51c56000526004601cfd5b5060006001600160e01b03198216600160e01b03610e155760408301358301601f1981013560007f439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dda81610d9c600482868861263f565b610da591612669565b6001600160e01b0319168152602081019190915260400160002060018101546001600160a01b031694509050610dde876004818b61263f565b82549199509750600160301b810460a01b65ffffffffffff60a01b1660d09190911b6001600160d01b031916179850505050610e77565b6001600160e01b03198216600160e11b03610e695760408301358301601f19810135610e58610e4860046000848661263f565b610e5191612669565b8888611776565b919a50985096509250610e77915050565b6001955050505050506108d0565b8615610e8757343434348a335af1505b6000610e928a612697565b905085858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152604051633a871cdd60e01b8152610f4e9088906001600160a01b03851690633a871cdd90610f069086908f908f906004016127a5565b6020604051808303816000875af1158015610f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f499190612897565b611adf565b9a9950505050505050505050565b604051631aab3f0d60e11b81523060048201526001600160c01b03821660248201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa158015610fd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ff69190612897565b92915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110355750333014155b801561104657506110446106b8565b155b1561106457604051637046c88d60e01b815260040160405180910390fd5b6000816001811115611078576110786128b0565b14611096576040516367ce775960e01b815260040160405180910390fd5b60008083516020850186885af13d6000803e80801561025a573d6000f35b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906110ed5750333014155b1561110b57604051637046c88d60e01b815260040160405180910390fd5b600080516020612a2183398151915280546001600160a01b03858116600160501b818102600160501b600160f01b031985161790945560405193909204169182907fa35f5cdc5fbabb614b4cd5064ce5543f43dc8fab0e4da41255230eb8aba2531c90600090a360405163064acaab60e11b81526001600160a01b03851690630c959556906111a09086908690600401612615565b600060405180830381600087803b1580156111ba57600080fd5b505af11580156111ce573d6000803e3d6000fd5b5050505050505050565b600f60f81b60608060008080836111ed611b9d565b97989097965046955030945091925090565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112385750333014155b801561124957506112476106b8565b155b1561126757604051637046c88d60e01b815260040160405180910390fd5b600080825160208401855af43d6000803e80801561025a573d6000f35b604051631aab3f0d60e11b8152306004820152600060248201819052907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906335567e1a90604401602060405180830381865afa1580156112f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113169190612897565b905090565b610baf838383611bd9565b336001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480159061135f5750333014155b1561137d57604051637046c88d60e01b815260040160405180910390fd5b600080516020612a21833981519152805460e09290921c69ffffffffffffffffffff19909216919091176401000000004265ffffffffffff1602179055565b600080516020612a2183398151915254604051639ea9bd5960e01b815260009160501c906001600160a01b03821690639ea9bd5990611403908890889088906004016125ce565b602060405180830381865afa158015611420573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061144491906125f3565b95945050505050565b600080600061145a611b9d565b8151602092830120815191830191909120604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818601528082019390935260608301919091524660808301523060a0808401919091528151808403909101815260c0909201905280519101209392505050565b600080600080516020612a218339815191525460501c9050600080826001600160a01b031663333daf9260e01b898888604051602401611512939291906128c6565b60408051601f19818403018152918152602080830180516001600160e01b03166001600160e01b03199095169490941790935251611554928b918e91016128e0565b60408051601f198184030181529082905261156e91612914565b600060405180830381855afa9150503d80600081146115a9576040519150601f19603f3d011682016040523d82523d6000602084013e6115ae565b606091505b50915091508161162a5760405162461bcd60e51b815260206004820152603860248201527f4b65726e656c3a3a5f76616c69646174655369676e61747572653a206661696c60448201527f656420746f2076616c6964617465207369676e61747572650000000000000000606482015260840160405180910390fd5b8080602001905181019061163e9190612897565b9998505050505050505050565b600060a082901c65ffffffffffff1682811560001981016116705765ffffffffffff92505b508360d01c92509193909250565b60008061168a85612697565b905061169a610140860186612930565b6116a891600490829061263f565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505050610140820152600080516020612a2183398151915254604051633a871cdd60e01b815260509190911c906001600160a01b03821690633a871cdd90611729908590899089906004016127a5565b6020604051808303816000875af1158015611748573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061176c9190612897565b9695505050505050565b600080368161178960246010878961263f565b61179291612976565b60601c9350605860006117a8826038898b61263f565b6117b1916129a4565b828101929091508801816117ca60208501858b8d61263f565b6117d3916129a4565b60001c925060208401935060006118bd7f3ce406685c1b3551d706d85a68afdaa49ac4e07b451ad9b8ff8b58c3ee96417660001b8d8d8d60049060249261181c9392919061263f565b611825916129a4565b60001c8e8e60249060389261183c9392919061263f565b61184591612976565b60601c87876040516118589291906129c2565b6040519081900381206118a295949392916020019485526001600160e01b031993909316602085015260408401919091526001600160a01b03166060830152608082015260a00190565b60405160208183030381529060405280519060200120611c6d565b905061190d6118e13083848f8f8b908b8d01926118dc9392919061263f565b6114d0565b8c8c6004906024926118f59392919061263f565b6118fe916129a4565b6001600160a01b031916611adf565b97508385019450848b019650848a03955060405180608001604052808c8c600490600a9261193d9392919061263f565b611946916129d2565b60d01c65ffffffffffff1681526020018c8c600a9060109261196a9392919061263f565b611973916129d2565b60d01c65ffffffffffff1681526020018c8c6024906038926119979392919061263f565b6119a091612976565b60601c6001600160a01b031681526020018c8c6010906024926119c59392919061263f565b6119ce91612976565b60601c9052600080516020612a018339815191526001600160e01b03198e166000908152600291909101602090815260409182902083518154928501518585015165ffffffffffff9283166001600160601b031990951694909417600160301b9290911691909102176bffffffffffffffffffffffff16600160601b6001600160a01b0393841602178155606090930151600190930180546001600160a01b031916938216939093179092555163064acaab60e11b8152908a1690630c95955690611a9f9086908690600401612615565b600060405180830381600087803b158015611ab957600080fd5b505af1158015611acd573d6000803e3d6000fd5b50505050505050505093509350935093565b600081830160601b8260601b81148460601b8214176001600160a01b0384861816151760018114611b135760019250611b95565b6001600160d01b031980851690861681811881831102188686176001600160a01b031617935065ffffffffffff60a01b86169081611b585765ffffffffffff60a01b91505b5065ffffffffffff60a01b851680611b76575065ffffffffffff60a01b5b808218908211021880611b8f575065ffffffffffff60a01b5b92909217915b505092915050565b604080518082018252600681526512d95c9b995b60d21b602080830191909152825180840190935260058352640c0b8c8b8d60da1b9083015291565b600080516020612a218339815191525460501c6001600160a01b03811615611c135760405162dc149f60e41b815260040160405180910390fd5b600080516020612a218339815191528054600160501b600160f01b031916600160501b6001600160a01b0387169081029190911790915560405163064acaab60e11b8152630c959556906111a09086908690600401612615565b7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000030147f0000000000000000000000000000000000000000000000000000000000000000461416611d605750604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f81527f000000000000000000000000000000000000000000000000000000000000000060208201527f00000000000000000000000000000000000000000000000000000000000000009181019190915246606082015230608082015260a090205b67190100000000000060005280601a5281603a52604260182090506000603a52919050565b60005b83811015611da0578181015183820152602001611d88565b50506000910152565b60008151808452611dc1816020860160208601611d85565b601f01601f19169290920160200192915050565b6020815260006108d06020830184611da9565b6001600160a01b0381168114611dfd57600080fd5b50565b8035611e0b81611de8565b919050565b60008083601f840112611e2257600080fd5b5081356001600160401b03811115611e3957600080fd5b602083019150836020828501011115611e5157600080fd5b9250929050565b600080600080600060808688031215611e7057600080fd5b8535611e7b81611de8565b94506020860135611e8b81611de8565b93506040860135925060608601356001600160401b03811115611ead57600080fd5b611eb988828901611e10565b969995985093965092949392505050565b600080600060408486031215611edf57600080fd5b8335925060208401356001600160401b03811115611efc57600080fd5b611f0886828701611e10565b9497909650939450505050565b80356001600160e01b031981168114611e0b57600080fd5b65ffffffffffff81168114611dfd57600080fd5b600080600080600080600060c0888a031215611f5c57600080fd5b611f6588611f15565b96506020880135611f7581611de8565b95506040880135611f8581611de8565b94506060880135611f9581611f2d565b93506080880135611fa581611f2d565b925060a08801356001600160401b03811115611fc057600080fd5b611fcc8a828b01611e10565b989b979a50959850939692959293505050565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b038111828210171561201757612017611fdf565b60405290565b60405161016081016001600160401b038111828210171561201757612017611fdf565b604051601f8201601f191681016001600160401b038111828210171561206857612068611fdf565b604052919050565b600082601f83011261208157600080fd5b81356001600160401b0381111561209a5761209a611fdf565b6120ad601f8201601f1916602001612040565b8181528460208386010111156120c257600080fd5b816020850160208301376000918101602001919091529392505050565b600060208083850312156120f257600080fd5b82356001600160401b038082111561210957600080fd5b818501915085601f83011261211d57600080fd5b81358181111561212f5761212f611fdf565b8060051b61213e858201612040565b918252838101850191858101908984111561215857600080fd5b86860192505b8383101561163e578235858111156121765760008081fd5b86016060818c03601f190181131561218e5760008081fd5b612196611ff5565b898301356121a381611de8565b81526040838101358b8301529183013591888311156121c25760008081fd5b6121d08e8c85870101612070565b9082015284525050918601919086019061215e565b6000602082840312156121f757600080fd5b81356108d081611de8565b60008060006060848603121561221757600080fd5b83356001600160401b0381111561222d57600080fd5b8401610160818703121561224057600080fd5b95602085013595506040909401359392505050565b60006020828403121561226757600080fd5b81356001600160c01b03811681146108d057600080fd5b60006020828403121561229057600080fd5b6108d082611f15565b600080600080608085870312156122af57600080fd5b84356122ba81611de8565b93506020850135925060408501356001600160401b038111156122dc57600080fd5b6122e887828801612070565b9250506060850135600281106122fd57600080fd5b939692955090935050565b60008060006040848603121561231d57600080fd5b833561232881611de8565b925060208401356001600160401b03811115611efc57600080fd5b60ff60f81b881681526000602060e08184015261236360e084018a611da9565b8381036040850152612375818a611da9565b606085018990526001600160a01b038816608086015260a0850187905284810360c0860152855180825283870192509083019060005b818110156123c7578351835292840192918401916001016123ab565b50909c9b505050505050505050505050565b600080604083850312156123ec57600080fd5b82356123f781611de8565b915060208301356001600160401b0381111561241257600080fd5b61241e85828601612070565b9150509250929050565b60008083601f84011261243a57600080fd5b5081356001600160401b0381111561245157600080fd5b6020830191508360208260051b8501011115611e5157600080fd5b60008060008060008060008060a0898b03121561248857600080fd5b883561249381611de8565b975060208901356124a381611de8565b965060408901356001600160401b03808211156124bf57600080fd5b6124cb8c838d01612428565b909850965060608b01359150808211156124e457600080fd5b6124f08c838d01612428565b909650945060808b013591508082111561250957600080fd5b506125168b828c01611e10565b999c989b5096995094979396929594505050565b60008060008060008060a0878903121561254357600080fd5b863561254e81611de8565b9550602087013561255e81611de8565b9450604087013593506060870135925060808701356001600160401b0381111561258757600080fd5b61259389828a01611e10565b979a9699509497509295939492505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b038416815260406020820181905260009061144490830184866125a5565b60006020828403121561260557600080fd5b815180151581146108d057600080fd5b602081526000610ad16020830184866125a5565b634e487b7160e01b600052603260045260246000fd5b6000808585111561264f57600080fd5b8386111561265c57600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015611b955760049490940360031b84901b1690921692915050565b600061016082360312156126aa57600080fd5b6126b261201d565b6126bb83611e00565b81526020830135602082015260408301356001600160401b03808211156126e157600080fd5b6126ed36838701612070565b6040840152606085013591508082111561270657600080fd5b61271236838701612070565b60608401526080850135608084015260a085013560a084015260c085013560c084015260e085013560e0840152610100915081850135828401526101209150818501358181111561276257600080fd5b61276e36828801612070565b83850152506101409150818501358181111561278957600080fd5b61279536828801612070565b8385015250505080915050919050565b606081526127bf6060820185516001600160a01b03169052565b60208401516080820152600060408501516101608060a08501526127e76101c0850183611da9565b91506060870151605f19808685030160c08701526128058483611da9565b9350608089015160e087015260a08901519150610100828188015260c08a01519250610120838189015260e08b0151935061014084818a0152828c0151868a0152818c0151955083898803016101808a01526128618787611da9565b9650808c0151955050505080868503016101a087015250506128838282611da9565b602085019690965250505060400152919050565b6000602082840312156128a957600080fd5b5051919050565b634e487b7160e01b600052602160045260246000fd5b8381526040602082015260006114446040830184866125a5565b600084516128f2818460208901611d85565b919091019283525060601b6001600160601b0319166020820152603401919050565b60008251612926818460208701611d85565b9190910192915050565b6000808335601e1984360301811261294757600080fd5b8301803591506001600160401b0382111561296157600080fd5b602001915036819003821315611e5157600080fd5b6001600160601b03198135818116916014851015611b955760149490940360031b84901b1690921692915050565b80356020831015610ff657600019602084900360031b1b1692915050565b8183823760009101908152919050565b6001600160d01b03198135818116916006851015611b955760069490940360031b84901b169092169291505056fe439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd8439ffe7df606b78489639bc0b827913bd09e1246fa6802968a5b3694c53e0dd90000000000000000000000005ff137d4b0fdcd49dca30c7cf57e578a026d2789", + "nonce": "0x121", + "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false }, { - "hash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", + "hash": "0xd2f1e5216cc502148db4ed20ee5ebaf82728715b11a601be7f81aed312c4b27b", "transactionType": "CALL", "contractName": null, "contractAddress": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "function": null, - "arguments": null, + "function": "setImplementation(address,bool)", + "arguments": [ + "0xd3082872F8B06073A021b4602e022d5A070d7cfC", + "true" + ], "transaction": { - "type": "0x00", + "type": "0x02", "from": "0x9775137314fe595c943712b0b336327dfa80ae8a", "to": "0x5de4839a76cf55d0c90e2061ef4386d962e15ae3", "gas": "0x10945", "value": "0x0", - "data": "0xbb30a974000000000000000000000000d3f582f6b4814e989ee8e96bc3175320b5a540ab0000000000000000000000000000000000000000000000000000000000000001", - "nonce": "0x11b" + "data": "0xbb30a974000000000000000000000000d3082872f8b06073a021b4602e022d5a070d7cfc0000000000000000000000000000000000000000000000000000000000000001", + "nonce": "0x122", + "accessList": [] }, "additionalContracts": [], "isFixedGasLimit": false @@ -84,80 +48,14 @@ ], "receipts": [ { - "transactionHash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", - "transactionIndex": "0x4", - "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", - "blockNumber": "0x2878155", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x21b52c", - "gasUsed": "0x1e9d12", - "contractAddress": null, - "logs": [ - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", - "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" - ], - "data": "0x000000000000000000000000000000000000000000000000000ab110b0264e0000000000000000000000000000000000000000000000000017afae461bab92de000000000000000000000000000000000000000000000021c57c245b2fcd062700000000000000000000000000000000000000000000000017a4fd356b8544de000000000000000000000000000000000000000000000021c586d56bdff35427", - "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", - "blockNumber": "0x2878155", - "transactionHash": "0x3047878f05c711aadbb8a320dd631280472651a6dbf2f0e5b37416b806b473ff", - "transactionIndex": "0x4", - "logIndex": "0xa", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x59682f0f" - }, - { - "transactionHash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", - "transactionIndex": "0x5", - "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", - "blockNumber": "0x2878155", - "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", - "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0x226a8e", - "gasUsed": "0xb562", - "contractAddress": null, - "logs": [ - { - "address": "0x0000000000000000000000000000000000001010", - "topics": [ - "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", - "0x0000000000000000000000000000000000000000000000000000000000001010", - "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", - "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" - ], - "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe0000000000000000000000000000000000000000000000000017a4fd3569ba10d0000000000000000000000000000000000000000000000021c586d56bdff3542700000000000000000000000000000000000000000000000017a4bddc869d12d0000000000000000000000000000000000000000000000021c58714c4c3105227", - "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", - "blockNumber": "0x2878155", - "transactionHash": "0x2e6c1b42f13db1b1859e17ff7cd72127390cea8086145dbadf2111933a255a36", - "transactionIndex": "0x5", - "logIndex": "0xb", - "removed": false - } - ], - "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x59682f0f" - }, - { - "transactionHash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", - "transactionIndex": "0x6", - "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", - "blockNumber": "0x2878155", + "transactionHash": "0xd8e812f017a3e85f731e688b9cb30c330bf86680221e9b8f1e13e09784f3767d", + "transactionIndex": "0x1", + "blockHash": "0x9f83e74bd905ce4a48237be29d25a8e7a9628af562617a760d1c58ecebdb4caf", + "blockNumber": "0x2c109e3", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x4e59b44847b379578588920cA78FbF26c0B4956C", - "cumulativeGasUsed": "0x3fff94", - "gasUsed": "0x1d9506", + "cumulativeGasUsed": "0x25c77f", + "gasUsed": "0x24e7a3", "contractAddress": null, "logs": [ { @@ -166,30 +64,30 @@ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", - "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" ], - "data": "0x000000000000000000000000000000000000000000000000000a54d90ecc1a0000000000000000000000000000000000000000000000000017a4bddc86927212000000000000000000000000000000000000000000000021c58714c4c3105227000000000000000000000000000000000000000000000000179a690377c65812000000000000000000000000000000000000000000000021c591699dd1dc6c27", - "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", - "blockNumber": "0x2878155", - "transactionHash": "0xab202f128c6b5150c0297f63d6cb95f39ef267831ce95f2a9f79c312420e3f30", - "transactionIndex": "0x6", - "logIndex": "0xc", + "data": "0x0000000000000000000000000000000000000000000000000101c6faeaea8400000000000000000000000000000000000000000000000000176208e5250aee6f00000000000000000000000000000000000000000000068bff3013be5c2ac672000000000000000000000000000000000000000000000000166041ea3a206a6f00000000000000000000000000000000000000000000068c0031dab947154a72", + "blockHash": "0x9f83e74bd905ce4a48237be29d25a8e7a9628af562617a760d1c58ecebdb4caf", + "blockNumber": "0x2c109e3", + "transactionHash": "0xd8e812f017a3e85f731e688b9cb30c330bf86680221e9b8f1e13e09784f3767d", + "transactionIndex": "0x1", + "logIndex": "0x2", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x59682f0f" + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6fc23ac12" }, { - "transactionHash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", - "transactionIndex": "0x7", - "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", - "blockNumber": "0x2878155", + "transactionHash": "0xd2f1e5216cc502148db4ed20ee5ebaf82728715b11a601be7f81aed312c4b27b", + "transactionIndex": "0x2", + "blockHash": "0x9f83e74bd905ce4a48237be29d25a8e7a9628af562617a760d1c58ecebdb4caf", + "blockNumber": "0x2c109e3", "from": "0x9775137314fE595c943712B0b336327dfa80aE8A", "to": "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3", - "cumulativeGasUsed": "0x40b4f6", + "cumulativeGasUsed": "0x267ce1", "gasUsed": "0xb562", "contractAddress": null, "logs": [ @@ -199,28 +97,28 @@ "0x4dfe1bbbcf077ddc3e01291eea2d5c70c2b422b415d95645b9adcfd678cb1d63", "0x0000000000000000000000000000000000000000000000000000000000001010", "0x0000000000000000000000009775137314fe595c943712b0b336327dfa80ae8a", - "0x00000000000000000000000022b64229c41429a023549fdab3385893b579327a" + "0x0000000000000000000000005082f249cdb2f2c1ee035e4f423c46ea2dab3ab1" ], - "data": "0x00000000000000000000000000000000000000000000000000003f58e31cfe00000000000000000000000000000000000000000000000000179a6903760a9cb8000000000000000000000000000000000000000000000021c591699dd1dc6c27000000000000000000000000000000000000000000000000179a29aa92ed9eb8000000000000000000000000000000000000000000000021c591a8f6b4f96a27", - "blockHash": "0xec4136755184245505bf401f4319654cb386a881e5c43c7e0e56dc6d81dd6aee", - "blockNumber": "0x2878155", - "transactionHash": "0x0570ec272b744f65284329ecfd5f064a2bab94d7bbeab45e4bd49c7000ced255", - "transactionIndex": "0x7", - "logIndex": "0xd", + "data": "0x0000000000000000000000000000000000000000000000000004f2f1be43d800000000000000000000000000000000000000000000000000166041ea378820f900000000000000000000000000000000000000000000068c0031dab947154a72000000000000000000000000000000000000000000000000165b4ef8794448f900000000000000000000000000000000000000000000068c0036cdab05592272", + "blockHash": "0x9f83e74bd905ce4a48237be29d25a8e7a9628af562617a760d1c58ecebdb4caf", + "blockNumber": "0x2c109e3", + "transactionHash": "0xd2f1e5216cc502148db4ed20ee5ebaf82728715b11a601be7f81aed312c4b27b", + "transactionIndex": "0x2", + "logIndex": "0x3", "removed": false } ], "status": "0x1", - "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000200000000000000000000000000000000000000000090000000000201000000000000000000000000000000000000000000000000000002000004000000000000000000001000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000100000", - "type": "0x0", - "effectiveGasPrice": "0x59682f0f" + "logsBloom": "0x00000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000008000000000000000000000000000000000000000000000000000000000800000000000000000000100000000000200000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000080000000000201000000000000000000000000000000000000000000000000000000000004000000000000000000001000000000000000000000000000000100000000000000000000000000080000000000000000000000000000000000000000000100000", + "type": "0x2", + "effectiveGasPrice": "0x6fc23ac12" } ], "libraries": [], "pending": [], "returns": {}, - "timestamp": 1700064346, + "timestamp": 1708583364, "chain": 80001, "multi": false, - "commit": "fe8b969" + "commit": "c6630f9" } \ No newline at end of file From 440f4aabf52e10c30a2840fd85da8fce2e9715b0 Mon Sep 17 00:00:00 2001 From: Derek Chiang Date: Fri, 23 Feb 2024 23:34:32 -0500 Subject: [PATCH 50/51] Add webauthn audit --- audits/kalos_webauthn_v1.pdf | Bin 0 -> 2564470 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 audits/kalos_webauthn_v1.pdf diff --git a/audits/kalos_webauthn_v1.pdf b/audits/kalos_webauthn_v1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..28f2252f0ca81a23bb5daf0415d7b34f145e6134 GIT binary patch literal 2564470 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 z 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≧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

    Yf%S%(j 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%0AlS0}Ra2Lk~Ga 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

  • $TX0C;QCFDI#^%ZKUQ*HIkdYZ!N6_~x$ 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

    keDSTu$mDyZW6$8Ib?%B-L&8}P!)LC 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 z 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